微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

链接器错误:无法打开输入文件“d3dx9.lib”

如何解决链接器错误:无法打开输入文件“d3dx9.lib”

这是一个非常简单的问题,但我已经搜索了一段时间并且没有运气。我应该将它添加到我相信的链接器中吗?即项目属性 > 链接器 > 输入 > 附加依赖项。我只是对该怎么做感到困惑。谢谢。

解决方法

最简单的解决方案是将 Microsoft.DXSDK.D3DX NuGet 包添加到您的项目中,而根本不使用旧版 DirectX SDK。这会将标头 d3dx9*.hd3dx10*.hd3dx11*.h 放入您的包含路径中。它还会将 d3dx9.libd3dx10.libd3dx11.lib 添加到您的链接设置中,并“并排”提供所需的运行时 DLL。见this blog post

否则,要集成旧版 DirectX SDK 需要在 VC++ 目录中进行一些特殊的包含/lib 路径排序,并且您将面临许多其他问题。有关详细信息,请参阅 Microsoft Docs

当然,真正的问题是“您为什么首先使用旧版 Direct3D 9 而不是 Direct3D 11?”。对于 Direct3D 11 或 Direct3D 12,您应该完全避免使用旧版 DirectX SDK 和 D3DX9/D3DX10/D3DX11。见Living without D3DX

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。