GeekCoders

[DirectX11] Warning C4005 본문

Client/DirectX11

[DirectX11] Warning C4005

령호 2015. 2. 13. 21:15

DirectX SDK와 Window SDK가 충돌을 일으켜 C4005 경고를 발생한다.

VS2012 버전부터 Window SDK에 DirectX가 포함되어 있기에 발생하는 경고다.


DirectX SDK를 이용 할 경우 타 플랫폼, 윈도우 상위버전 호환이 안되는 경우가 생길 수 있다.

그러므로 왠만하면 Window SDK를 이용하는 것을 추천한다.


호환이 안되는 목록은 함수마다 다르며, MSDN에서 해당함수를 검색해보면 호환여부를 알려주며,

호환이 안될 경우 다른 방법을 제시해준다.

예를 들어, 쉐이더를 컴파일 하기위해 D3DX11CompileFromFile를 사용했었는데, 

Window SDK의 D3DCompileFromFile를 이용해서 컴파일 할 경우 Window 8.1과 XBOX360에 호환이 된다.

(https://msdn.microsoft.com/ko-kr/library/windows/desktop/ff476261(v=vs.85).aspx)



d3dx11을 포함하지 않았다.

xnamath.h를 DirectXMath.h로 변경해주고,

namespace DirectX에 정의 되 있으므로,

using namespace Directx;

를 해 줌으로써 xnamath는 소스코드 수정없이 사용이 가능했다.


DirectX11을 이제 시작한다면 아래 참조 링크를 읽어보고 작업하길 권한다.



참조 : https://msdn.microsoft.com/en-us/library/windows/desktop/ee663275.aspx