프로그래밍
오래된 소스를 빌드할 때의 _WIN32_WINNT 문제
pgmaru
2016. 5. 11. 17:56
반응형
얼마전, OpenCV2.1을 빌드해야 할 일이 있었다.
CMake를 통해 프로젝트를 생성한 다음
VisualStudio에서 빌드하면서 문제가 발생하였고,
cvinternal.h의 소스의 다음 부분을 변경하고 나서야 빌드가 가능했다.
#define _WIN32_WINNT 0x0400=> #define _WIN32_WINNT 0x0501
그러면서, 좀더 자세한 내용을 알고 싶어서 검색을 해 보았더니,
다음 사이트에서 원하는 답을 찾을 수 있었다.
즉, 소스가 릴리즈될 때의 윈도우즈 버젼 정보가
WINVER 혹은 WIN32_WINNT에 담겨져 있으며,
그때문에 컴파일이 안되는 경우에는, 다음과 같이 해야 한다.
- 소스(헤더파일) 상의 버전 정보를 직접 업데이트
- 컴파일러 옵션을 통해 윈도우즈 버전 정보 설정
반응형