D3D11CreateDeviceAndSwapChain Unresolved External
D3D11CreateDeviceAndSwapChain Unresolved External
这简直要把我逼疯了。当我编译程序时,我得到以下错误消息:
错误LNK2019:无法解析的外部符号_D3D11CreateDeviceAndSwapChain@48
我知道我有所有正确的lib/和include目录(x86),并且我已经将问题跟踪到这样一个事实,即如果我去定义(F12),我得到两个符号,一个用于DirectXSDK安装目录,一个在"c:Program Files (x86)Windows Kits8.0 include um"。
无论如何,我都不知道该做什么。我已经通过了所有的包括/排除目录,我不能得到它的解决,我不知道该怎么做。有人能帮我吗?
我自己也遇到了这个错误,并根据Luke在评论中的建议解决了这个问题。
假设您使用的是Visual Studio,请尝试打开项目的属性窗口,然后导航到链接器->输入。在"附加依赖项"下添加d3d11.lib
,并再次尝试链接。
好的。在疯狂驾驶之前,看看这个:
-
您链接到与您的应用程序相同的架构:x86, x64, arm(这是常见的gotcha =))
C:Program Files (x86)Windows Kits8.0Libwin8umx86
C:Program Files (x86)Windows Kits8.0Libwin8umx64
C:Program Files (x86)Windows Kits8.0Libwin8umarm
-
你从与你的头文件相同的sdk链接库(在你的源代码中,尝试明确地键入路径):
#include "c:Program Files (x86)Windows Kits8.0Includeumheader.h"
#pragma comment(lib, "C:\Program Files (x86)\Windows Kits\8.0\Lib\win8\um\x64\library.lib")
-
检查库本身是否正常(存在,未损坏):卸载旧的DXSDK和Win8SDK,然后重新安装其中一个,尝试它,而不是另一个。(这也是一个好主意,只是复制某处文档和教程从旧SDK,卸载它,忘记它)
-
尝试新的
#pragma linker
(不是#pragma lib
)与详细标志,以获得一些链接器输出:#define USE_OLD_DXSDK
#ifdef USE_OLD_DXSDK
#pragma comment(linker "c:\path\to\old_sdk\d3d11.lib -verbose")
#else
#pragma comment(linker, "c:\path\to\new_sdk\d3d11.lib -verbose")
#endif
-
走另一种方式:创建一个新的小应用程序,并尝试从头开始编写
D3D11CreateDeviceAndSwapChain
的东西。现在只需要#include
和link
。试着重现你的链接错误,以了解它发生的原因,并找出如何在你的主应用中修复它。
编码快乐!
重新检查您的IDE中的库,并确保您的IDE正在使用Unicode字符集,并且您正在正确使用Unicode函数和字符串。另外,检查两次,如果libx86(或x64,如果它的情况下),被正确添加到您的项目的库。
- CppSQLite 抛出"LNK2019: unresolved external symbol"错误
- Visual Studio中的wxwidgets应用程序给出错误"LNK2019 unresolved external symbol"
- 我的游戏引擎的 spdlog 日志记录出现奇怪的"unresolved external symbol"错误
- 如何修复"unresolved external symbol _gladLoadGLLoader referenced in function _main"和"unresolved external
- 尝试使用 CPP 构建类时"unresolved external..."
- 通过覆盖虚拟函数来获取'unresolved external symbol'
- 运行时动态加载库时出错"unresolved external symbol"
- 为什么 VS C++链接器返回具有混合 DLL 转发的"LNK2001: unresolved external symbol"?
- Visual Studio 2017 中的 MySQL 连接器/C++ 错误"Unresolved external symbol _get_driver_instance"
- CMake 和 Visual Studio 出现"unresolved external symbol"错误
- DLL 注入编译 "unresolved external symbol" Visual Studio C++
- "Error LNK2001: unresolved external symbol _main"仍然存在
- QT 单元测试 moc "unresolved external symbol" for QMetaObject
- "error LNK2019: unresolved external fatal"和"error LNK1120: 1 unresolved externals"
- 主外部功能的C++ "unresolved external symbol"
- 错误 : "error LNK2019: unresolved external symbol"
- 为什么我的代码生成"Unresolved external symbol"错误?
- 使用三角形库时的"unresolved external symbol _triangulate"
- 如何修复" Error LNK2019 : unresolved external symbol ... "
- 问题:"error LNK2019: unresolved external symbol"