0

因此,我正在尝试学习 DirectX 教程,但我不断收到以下错误:

   1>main.obj : error LNK2019: unresolved external symbol _D3D11CreateDeviceAndSwapChain@48
   referenced in function "void __cdecl InitD3D(struct HWND__ *)" (?InitD3D@@YAXPAUHWND__@@@Z)
   1>main.obj : error LNK2019: unresolved external symbol _D3DX11CompileFromFileW@44 referenced in
   function "void __cdecl InitPipeline(void)" (?InitPipeline@@YAXXZ)

现在我很确定这与包含正确的目录和库等有关。我添加了包含并设置了链接器选项

 #include <d3d11.h>
 #include <d3dx11.h>
 #include <d3dx10.h>
 #pragma comment (lib, "d3d11.lib")
 #pragma comment (lib, "d3dx11.lib")
 #pragma comment (lib, "d3dx10.lib")

我还在配置属性-> VSC++ 目录-> 包含目录和 Lib 中设置了目录。目录

还有什么我想念的吗?

编辑:我使用 Visual Studio c++ 2010 express

4

1 回答 1

0

1)检查你的链接器设置,你需要在那里添加你的库

2)您是在构建 x86 还是 x64,具体取决于库位于不同的文件夹中

3)vs2010及之前需要安装directx sdk,自带vs2012 sdk

于 2013-03-11T17:22:15.570 回答