보안상 좋지 않지만 현실과 타협...!
경고가 나타나지 않도록 하기 위해서는
프로젝트 속성-> C/C++ -> 전처리기 정의-> "_CRT_SECURE_NO_WARNINGS" 디파인 추가
나의 해결책
#ifndef POINTER_64
#define POINTER_64
#endif
typedef void *PVOID;
typedef void * POINTER_64 PVOID64;
------------- 스크랩 1 -------------
POINTER_64가 정의되지 않아서 생기는 에러인 듯하다.
winnt.h에 다음 한 줄을 추가하면 해결된다.
#define POINTER_64 __ptr64 // 추가
typedef void *PVOID;
typedef void * POINTER_64 PVOID64;
그 외 잡다한 변수선언 관련 컴파일에러들은 Microsoft가 지키지 않던 C++ scope 관련 표준들을 최근에 와서 지킴으로써 발생하는 것들이 많아보인다.
무조건 선언해주도록 하자. -_-
몇 번 씩 당했던 문제들이지만 그 솔루션을 외우고 있지는 않고... 다행인 것은 다시 구글에서 찾는 시간이 매번 조금씩 짧아져간다는 것이다. ㅜㅜ
결국 DirectShow 관련 일은 개발환경 세팅이 반이라는 결론에 다다른다 (뭐 다른 일들도 크게 다르지 않지만).
vs 2005에서 나오는 문제임.
문제 :
winnt.h 에서
typedef void * POINTER_64 PVOID64; 을 컴파일할때
error C2146: 구문 오류 : ';'이(가) 'PVOID64' 식별자 앞에 없습니다.
에러가 뜸.
원인 :
POINTER_64 가 basestd.h 에서 정의되지 못하는 문제.
해결책 :
주의. 64bit 환경일때는 테스트 못해 봄
1. winnt.h 를 수정하는 방법
#define POINTER_64 // 추가
typedef void *PVOID;
typedef void * POINTER_64 PVOID64;
2. stdafx.h 에서 다른 파일을 include 하기 전에 define 을 추가
#define POINTER_64 // 추가
#include ...
다음과 같은 .reg파일을 만들어 레지스트리에 등록하면 .svn폴더를 지워주는 메뉴가 우클릭 팝업에 추가됨.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@="Delete SVN Folders"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
@="cmd.exe /c \"TITLE Removing SVN Folders in %1 && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \"
%ALLUSERSPROFILE% | C:\Documents and Settings\All Users |
---|---|
%APPDATA% | C:\Documents and Settings\{username}\Application Data |
%COMPUTERNAME% | {computername} |
%COMSPEC% | C:\Windows\System32\cmd.exe |
%HOMEDRIVE% | C: |
%HOMEPATH% | \Documents and Settings\{username} |
%PATH% | C:\Windows\System32\;C:\Windows\;C:\Windows\System32\Wbem |
%PATHEXT% | .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS ; .WSF; .WSH |
%PROGRAMFILES% | Directory containing program files, usually C:\Program Files |
%PROMPT% | Code for current command prompt format. Code is usually $P$G |
%SYSTEMDRIVE% | The drive containing the Windows XP root directory, usually C: |
%SYSTEMROOT% | The Windows XP root directory, usually C:\Windows |
%TEMP% and %TMP% | C:\DOCUME~1\{username}\LOCALS~1\Temp |
%USERNAME% | {username} |
%USERPROFILE% | C:\Documents and Settings\{username} |
%WINDIR% | C:\Windows |
%DATE% | Current date in the format determined by the Date command |
---|---|
%TIME% | Current time in the format determined by the Time command |
%CD% | Current directory with its full path |
%ERRORLEVEL% | Number defining exit status of a previous command or program |
%RANDOM% | Random number between 0 and 32767 |