我正在开发一个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 :\ 4年级\课程作业\课程作业\课程作业\ 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")