Windows 8.0 SDK and DirectX SDK 가 충돌하여
몇몇 매크로가 충돌하는 경우가 생겼다.
보통 DX_SDK가 오래된 버전일때 이러한 경우가 생기는데,
여기에서 해결방법은 여러가지 방법이 있는데 다음과 같다.
1. DX_SDK를 include에서 제거
2. DX_SDK의 몇몇 old 함수를 사용하고 있다면, 프로젝트 세팅을 다음과 같이 변경
project settings -> "General"
-> "Platform Toolset"
to "Visual Studio 2012 - Windows XP (v110_xp)"
3. 중복정의가 특별히 문제가 없다면 c4005 를 경고 무시에 추가
#include <iostream>
using namespace std;
#define TEST "test1"
#define TEST "test2" // C4005 delete or rename to resolve the warning
int main() {
cout << TEST << endl;
}
c4005 를 추가했을 경우, 컴파일러는 2번째 정의한 매크로를 사용한다.
https://msdn.microsoft.com/ko-kr/library/8d10sc3w.aspx
'프로그래밍 > C++' 카테고리의 다른 글
C++11 람다식 정리(lamda) (0) | 2016.02.01 |
---|---|
Visual C++ 데이터 형식(범위) (0) | 2016.01.29 |
C++11 enum class (0) | 2016.01.21 |
객체지향 - 인터페이스와 구현의 분리 (0) | 2015.11.30 |
FreeImage 라이브러리 (0) | 2015.10.11 |