2017-02-04 1 views
0

Es scheint egal was ich versuche, ich werde nicht DirectX 11 Anwendung kompilieren. Ich habe versucht:D3D11.h in VS2015

  • DirectX installieren Juni 2010 und fügen Sie $ (IncludePath); $ (DXSDK_DIR) einschließen und $ (LibraryPath) für $ (DXSDK_DIR) Lib \ x86 zu VS2015 Fügen Sie Verzeichnisse und Bibliotheksverzeichnisse, findet er D3D11 .h aber sagt d3d11.lib ist nicht da. (Source)
  • Versucht Entfernen DirectX Juni 2010 und verlassen sich auf Win10 ("C: \ Programme (x86) \ Windows Kits \ 10 \ Include \ 10.0.14393.0 \ um") d3d11.h ... VS2015 sagt, es ist nicht hier

Was mache ich falsch?

Danke!

+0

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

+0

Sie schlagen vor, ich habe nicht das SDK, obwohl ich es installiert habe während der Installation von VS2015? – ChaoSXDemon

+0

Das macht es tatsächlich so, dass mein VS2015 d3d11.dll nicht finden kann – ChaoSXDemon

Antwort

0

Wenn Sie Windows SDK verwenden, sollten Sie auch DXGI Header und Bibliothek und d3dcompiler Header und Bibliothek Shadern kompilieren:

#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 ist direkt in einem gewissen Grad. DirectX Juni 2010 oder Win8/Win10 funktionieren beide. Wenn Sie d3d11.lib benötigen, sollten Sie es manuell zu projection property hinzufügen, Sie haben d3d11.lib in Ihrem Sdk (DirectX Juni 2010 oder Win8/Win10, können Sie versuchen, zu suchen), und Sie fügen nur einen Namen "d3d11.lib "zu Projektionseigenschaft -> Link -> zusätzliche rely lib. Weil vs2015 Ihren Umgebungs-Pfad durchsuchen kann, um es zu finden. dxgi.h wird verwendet, um DXGI API zu erhalten, ist eine niedrige Schicht von d3d11, aber es ist nicht notwendig. Also nicht d3dcompiler, was zum Kompilieren von d3d Shader ist.

1

@MaverickATC Ich lief heute genau in dieser Frage. Ich konnte eines der Beispiele DirectX (Tutorial01) nicht erstellen und bekam einen Linkfehler auf 'D3D11CreateDevice' Ich habe versucht, die Bibliothek 'd3d11.lib' über Projekt -> Linker-Einstellungen hinzuzufügen, bekam aber das gleiche Problem. die Hinzufügen:

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

zu Beginn meines Codes das Problem gelöst und erlaubt Build ohne Fehler.

Ich finde das merkwürdig, weil sie meiner Meinung nach dasselbe tun sollten wie von @Vic gezeigt, aber in diesem Fall hat #pragma für mich gearbeitet.