2017-02-04 1 views
0

내가 뭘해도 상관 없다. 나는 directx 11 애플리케이션을 컴파일하지 않을 것이다. 나는 시도 :D3D11.h in VS2015

  • 의 DirectX 년 6 월 2010 년 설치 및 $ (IncludePath) 추가; $ (DXSDK_DIR)를 포함하고 $ (LibraryPath이); $이 (DXSDK_DIR) 디렉토리 및 라이브러리 디렉토리를 포함하기위한 VS2015에 lib 디렉토리 \의 86, 그것은 D3D11 발견 .h하지만 d3d11.lib가 없다고 말합니다. (Source)
  • 2010 년 6 월 DirectX를 제거하고 Win10 ("C : \ Program Files (Windows) \ Windows 키트 \ 10 \ Include \ 10.0.14393.0 \ um")에 의존합니다. d3d11.h ... VS2015에 따르면 여기에

내가 뭘 잘못하고 있니?

감사합니다. 당신이 윈도우 SDK를 사용하는 경우

+0

https://msdn.microsoft.com/en-gb/library/windows/desktop/ee663275(v=vs.85).aspx –

+0

SDK를 설치 했음에도 불구하고 SDK가없는 것이 좋습니다. VS2015를 설치하는 중입니까? – ChaoSXDemon

+0

실제로 그렇게하면 내 VS2015가 d3d11.dll을 찾을 수 없게됩니다. – ChaoSXDemon

답변

0

은 또한 쉐이더를 컴파일 DXGI 헤더와 라이브러리 및 d3dcompiler 헤더와 라이브러리를 포함한다 :

#include <d3d11.h> 
#include <dxgi.h> 
#include <d3dcompiler.h> 
#pragma comment(lib, "d3d11.lib") 
#pragma comment(lib, "dxgi.lib") 
#pragma comment(lib, "d3dcompiler.lib") 
0

@MaverickATC 바로 어느 정도입니다. DirectX 6 월 2010 또는 Win8/Win10 모두 작동합니다. d3d11.lib가 필요하면 수동으로 프로젝션 속성에 추가해야합니다. ddd.lib가 Sdk (DirectX 6 월 2010 또는 Win8/Win10, 검색을 시도 할 수 있음)에 있고 "d3d11.lib"라는 이름을 추가하면됩니다 "프로젝션 속성 -> 링크 -> 추가 의존 라이브러리. vs2015가 환경 경로를 검색하여 찾을 수 있기 때문입니다. dxgi.h는 DXGI API를 얻는 데 사용되며 d3d11의 하위 계층이지만 필요하지 않습니다. 그래서 d3dcompiler를 컴파일하지 마십시오. 이것은 d3d 셰이더를 컴파일하기위한 것입니다.

1

@MaverickATC 오늘이 정확한 문제가 발생했습니다. 샘플 DirectX (Tutorial01) 중 하나를 빌드하지 못했고 'D3D11CreateDevice'에서 링크 오류가 발생했습니다. 'd3d11.lib'라이브러리를 프로젝트 -> 링커 설정을 통해 추가하려고 시도했지만 동일한 문제가 발생했습니다. 는 추가 : 내 코드의 시작 부분에

#pragma comment(lib, "d3d11.lib") 

이 문제를 해결하고 오류없이 빌드를 허용했다.

내 마음 속에서 그들은 @ Vic에 의해 지적 된 것과 똑같은 일을해야하지만이 경우 #pragma는 나를 위해 일했기 때문에 나는이 이상한 것을 발견했다.