我正在开发一个 directX 11 项目,但遇到了一个奇怪的链接错误。函数 D3DX11CreateShaderResourceViewFromFile 引发 LNK2019 错误。
有没有我想念的图书馆?我可以找到 d3d11tex.h 中的声明,但程序没有找到实现。
我错过了什么?似乎我已经包含并引用了我需要的所有内容......此外,正如我所提到的,我可以达到声明。
错误:
错误 1 错误 LNK2019:未解析的外部符号 _D3DX11CreateShaderResourceViewFromFileW@24 在函数“public: __thiscall Texture2d::Texture2d(struct ID3D11Device *,wchar_t *)”中引用 (??0Texture2d@@QAE@PAUID3D11Device@@PA_W@Z) Z:\Year 4\Coursework\Coursework\Coursework\Texture2d.obj 课程
这是代码(.cpp),包括:
#include <d3d11.h>
#include <d3dx11.h>
Texture2d::Texture2d(ID3D11Device* device, WCHAR* fileName)
{
D3DX11CreateShaderResourceViewFromFile(device, fileName, NULL, NULL, &m_texture, NULL);
}
库目录: C:\Program Files (x86)\Microsoft DirectX SDK(2010 年 6 月)\Lib\x86
包含目录: C:\Program Files (x86)\Microsoft DirectX SDK(2010 年 6 月)\Include C:\Program Files (x86)\Microsoft DirectX SDK(2010 年 6 月)\Samples\C++\Effects11\Inc
编辑! 我忘了显示我的图书馆链接,但有人想出了一个解决方案,甚至没有看它。实际上,它缺少 d3dx11.lib。
#pragma comment(lib, "d3d11.lib")
#pragma comment(lib, "d3dcompiler.lib")
#pragma comment(lib, "dxerr.lib")
#pragma comment(lib, "Effects11.lib")