【发布时间】:2014-01-05 19:01:21
【问题描述】:
好的,我正在学习 DirectX 11,并尝试了 Frank D Luna 的 Direct3D 简介中的 BoxDemo 代码。但我收到以下链接器错误:
Effects11.lib(EffectAPI.obj):错误 LNK2001:未解析的外部符号 D3DCompileFromFile
我听说我必须在发布和调试模式下构建 Effects11.lib。我也有点讨厌。我所做的是转到 Samples\C++\Effects11\ 文件夹。在 VS2012 中打开解决方案并构建它在发布和调试模式下获得了 Effects11.lib。将调试重命名为 Effects11d.lib。将两个库放在项目文件夹中,并将它们添加到链接器->输入->附加依赖项中。我的目标平台是 x64,我的包含目录当前同样指向 directx 包含和 lib 目录。
那么我的问题是什么?为什么编译器找不到 Effects11.lib?我做对了吗?请帮我 。 提前致谢
编辑:所以我的问题可能在于 d3dcompiler.lib。但是我已经在链接器->输入中添加了 d3dcompiler.lib。但是在构建 Effects11.lib 时我还必须添加 d3dcompiler.lib 吗?
【问题讨论】:
-
您的“附加库目录”设置为:“$(DXSDK_DIR)\Lib\x86”还是“$(DXSDK_DIR)\Lib\x64”?如果是前者,并且您的目标是 x64,则您链接到了错误的库。
标签: c++ visual-studio-2012 linker directx-11