【发布时间】:2014-01-06 15:49:54
【问题描述】:
我在创建使用默认 effects11.lib 的简单 directx 代码时遇到链接器错误。我得到的错误:
Effects11.lib(EffectAPI.obj):错误 LNK2001:未解析的外部符号 D3DCompileFromFile
正如我从一些链接中了解到的,我缺少一个 d3dcompiler.dll。我在项目中包含了 d3dcompiler.lib。但我不确定如何将 dll 链接到项目。我是这些东西的新手。
一个人通过这样做解决了他的问题:
“默认的 Effects 项目包括 Windows 开发工具包(对我来说是 C:\Program Files (x86)\Windows Kits\8.0)。先放置 DirectX SDK 路径后,此问题已修复”
但我不知道他的意思。
所以请帮我解决问题。我真的没有时间处理即将到来的学期项目。我是新人,所以请给我详细信息。
【问题讨论】:
-
在项目中加入d3dcompiler.lib后到底是什么问题?
-
上面给出的问题我已经链接到d3dcompiler.lib,但是还是找不到上面提到的函数。
-
只是猜测:
putting the DirectX SDK path first表示更改链接器搜索目录的顺序,以便使用正确的 d3dcompiler.lib。尝试在您的计算机上搜索此文件,如果找到多个文件,请尝试每个文件。可能您需要 DirectX SDK 中的库,而不是其他开发工具包中的库。 -
我该如何更改链接器的顺序?
标签: c++ visual-studio-2012 linker-errors directx-11