C++编译报错D3DX11CreateTextureFromMemory未解析外部符号如何解决
这个错误属于链接阶段错误,头文件仅提供函数声明,你还需要引入对应静态库文件才能完成编译,具体解决步骤如下:
- 确认你已安装 legacy DirectX SDK,
D3DX11CreateTextureFromMemory属于已弃用的旧版D3DX工具库,对应静态库文件为d3dx11.lib - 快速修复:直接在你的C++源码头部添加如下编译指示,强制链接器引入对应库:
#pragma comment(lib, "d3dx11.lib") - 也可以通过项目配置修改:打开Visual Studio项目属性 → 链接器 → 输入 → 附加依赖项,手动添加
d3dx11.lib到依赖列表 - 如果添加后仍然报错,检查项目目标架构与库目录是否匹配:打开项目属性 → 链接器 → 常规 → 附加库目录,x86架构添加路径
$(DXSDK_DIR)Lib\x86,x64架构添加路径$(DXSDK_DIR)Lib\x64
补充提示:旧版D3DX11库已随DirectX SDK停止维护,如需更稳定的纹理加载方案,可以改用微软官方开源的DirectXTex库替代,完全覆盖该接口的所有功能。
内容的提问来源于stack exchange,提问作者Nenntron
相关产品推荐
相关产品推荐

