未解析的外部符号 _IID_IDXGIFactory
Posted
技术标签:
【中文标题】未解析的外部符号 _IID_IDXGIFactory【英文标题】:Unresolved external symbol _IID_IDXGIFactory 【发布时间】:2012-04-12 06:32:54 【问题描述】:我在 VC++ 2010 中创建控制台应用程序,并在其中添加以下代码:
#include构建这个项目,我有链接器错误:error LNK2001: unresolved external symbol _IID_IDXGIFactory
现在我创建支持 MFC 的控制台应用程序,并添加相同的代码。构建成功。第一种情况有什么问题?为什么MFC项目建成功,非MFC项目建失败?
【问题讨论】:
【参考方案1】:您需要引用另一个包含此标识符的库:
#pragma comment(lib, "windowscodecs.lib")
MSDN says its DXGI.lib
但实际上至少 Windows SDK 7.0 将它放在不同的库中。
【讨论】:
不同之处在于dxguid.lib
是 DirectX SDK 库(相对于 Windows SDK),并且根据 MSDN,该符号已经在“核心”Windows SDK 中。
windowscodecs.lib 确实有帮助,但并没有解决我所有的错误。所以,就像亚历克斯所说的那样,包括那个和 dxguid.lib 就是它所需要的。谢谢!
IID_ID3D11Device
和 IID_ID3D11DeviceContext
也在 dxguid.lib
中找到,而不是在 MSDN 中指定的 D3D11.lib
。【参考方案2】:
我遇到了同样的问题,在我的案例中引用 #pragma comment(lib, "dxgi.lib") 解决了这个问题。
【讨论】:
以上是关于未解析的外部符号 _IID_IDXGIFactory的主要内容,如果未能解决你的问题,请参考以下文章
LNK2019:未解析的外部符号 _main 在函数 ___tmainCRTStartup 中引用
如何修复 MSVC 2005 错误:未解析的外部符号 __environ