2015-01-10 6 views
0

내가 컴파일 VS C++ 2010 년 내 코드는 모든 것이 괜찮 VS 2010를 출시! 내가 릴리스 버전을 확인하려면 , 내가있어 communicat :DirectX11 내가 디버그 버전을 사용하는 경우 C++

MAIN.CPP (7) : 심각한 오류 C1083 : 'd3dx11.h': 열 수 없습니다 파일을 포함하는 해당 파일이나 디렉토리

저는 DirectX 11을 사용합니다. 어떻게해야합니까?

답변

1

으로는 D3DX의 모든 버전은 D3DX9, D3DX10 및 D3DX11 포함되지 않습니다, MSDN에 주목했다. 레거시 DirectX SDK를 사용하여 더 이상 사용되지 않는 라이브러리를 계속 사용할 수 있습니다. VS 2010에서는 DirectX SDK를 사용하기 위해 프로젝트의 VC++ 디렉터리 속성 페이지에 include/lib 경로를 수동으로 추가해야합니다. 32 비트의 Win32 구성의

: 64 기본 구성의

$(DXSDK_DIR)Utilities\bin\x86;$(ExecutablePath) 
$(DXSDK_DIR)Include;$(IncludePath) 
$(DXSDK_DIR)Lib\x86;$(LibraryPath) 

:

$(DXSDK_DIR)Utilities\bin\x64;$(DXSDK_DIR)Utilities\bin\x86;$(ExecutablePath) 
$(DXSDK_DIR)Include;$(IncludePath) 
$(DXSDK_DIR)Lib\x64;$(LibraryPath) 

디버그 빌드를 위해 일 #include <d3dx11.h>을 얻을 수 있다면,하지만 릴리스, 당신 아마 모든 구성/모든 플랫폼에 대해 VC++ 디렉토리를 설정하지 못했습니다.

또 다른 옵션은 대신 VS 2012 또는 다이렉트 SDK가 통합이 윈도우 8.x의 SDK를 포함 VS 2013로 이동하는 것입니다. 거기 당신은 기존 D3DX에 대한 DirectX Tool Kit, DirectXTex, DirectXMesh, 및/또는 기타 replacements의 사용을 만들 것입니다.

는 는 당신이 D3DX11를 계속 사용하려면 기존의 DirectX SDK를 활용하고 있으며 (예 VS 2012 또는 2013 VS와 같은)는 Windows 8.x의 SDK를 사용한다면

주, 당신은 해야 할 것 레거시 DirectX SDK 헤더가 Windows 8.x SDK의 헤더보다 오래 되었기 때문에 위의 순서가 포함됩니다.

64 기본 구성의
$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x86 
$(IncludePath);$(DXSDK_DIR)Include 
$(LibraryPath);$(DXSDK_DIR)Lib\x86 

:

$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x64;$(DXSDK_DIR)Utilities\bin\x86 
$(IncludePath);$(DXSDK_DIR)Include 
$(LibraryPath);$(DXSDK_DIR)Lib\x64 

참고 지적 here로 VS 2010과 함께 작동하도록 Windows 8.1 SDK 및 다이렉트 도구 키트를 얻을 수 있지만, 경우에 당신은 할 수 나는 매우 좋겠 당신이 VS 2013 프로 이상 예산이없는 경우 VS 2013 커뮤니티 에디션를 사용하는 것이 좋습니다.

+0

매우 감사합니다. 내가 어떤 inlucde/lib 릴리스에 추가하지 않았다. 나는 그것을 디버그를 위해 적절한 포트에 추가하면 자동으로 릴리스를 추가한다는 생각을했습니다. 당신은 바로 VS 2013을 사용할 것입니다 :) – WaxerPlaying

관련 문제