我试图将我的DirectX项目更新到新的Windows 8.1 sdk(2013或类似版本),并摆脱2010年6月的DirectX SDK。我走得很远,但是我陷在Linker错误LNK2001中

错误3错误LNK2001:无法解析的外部符号“长__cdecl DirectX::CreateDDSTextureFromFile(struct ID3D11Device *,wchar_t const *,struct ID3D11Resource * *,struct ID3D11ShaderResourceView * *,unsigned int,枚举DirectX::DDS_ALPHA_Text *)ure(创建文件@@ YAJPAUID3D11Device @@ PB_WPAPAUID3D11Resource @@ PAPAUID3D11ShaderResourceView @@ IPAW4DDS_ALPHA_MODE @ 1 @@ Z)C:\ Users \ DimmerFan \ documents \ visual studio 2013 \ Projects \ MikaelD3D \ MikaelD3D \ TextureClass。

我想那话不多。这是带有错误的代码:

HRESULT result;

result = DirectX::CreateDDSTextureFromFile(device, filename, nullptr, &m_texture, 0, nullptr);
if (FAILED(result))
{
    return false;
}

return true;

我从DirectXTex SDK获得此函数DirectX::CreateDDSTextureFromFile的位置。
但是我以某种方式未能将此库包含到我的项目中。我不知道可能出了什么问题。
弹出智能,一切看起来不错。我已经将D:\ DirectXTex \ DDSTextureLoader包括到我的包含目录中,并且我包括#include <DDSTextureLoader.h>感谢您提供有关此错误的任何帮助

// MikaelTörnqvist

最佳答案

您可以尝试将DDSTextureLoader.h和DDSTextureLoader.cpp添加到您的项目中,DirectXTex作为源代码提供,如果要使用它,则应将其添加到您的解决方案/项目中。

您也可以自己构建DirectXTex项目,并使用标题和库。

10-04 11:46