gpt4 book ai didi

c++ - Visual Studio 2017 : Cannot open include file 'd3dx9.h' no such file or directory in a static library used by . exe 应用程序

转载 作者:行者123 更新时间:2023-11-28 04:15:43 29 4
gpt4 key购买 nike

我使用的是 Visual Studio 2017,我需要为学校项目使用 DirectX9.0。

我有一个包含 3 个项目的解决方案。一个是静态库(.lib),一个是应用程序(.exe),一个是单元测试项目:

enter image description here

KB01_Game.exe 像这样导入 KB01_Engine.lib:

KB01_游戏属性 enter image description here

KB01_Engine.lib 包含像这样的 d3dx9 引用(我也尝试颠倒这些 DXSDK 引用的顺序,但没有成功):

KB01_引擎属性 enter image description here

enter image description here

KB01_Engine 中的文件包含 directx 9 header ,如下所示:

> #include <d3d9.h>
> #include <d3dx9.h>
> #include <dinput.h>

我也试过引号,没成功

 > #include "d3d9.h"
> #include "d3dx9.h"
> #include "dinput.h"

KB01_Engine 构建成功。我没有收到任何错误提示缺少包含文件。但是一旦我构建 KB01_Game,它就会给我这个错误,这个错误也包含在标题中,我已经努力了几个月来修复......

enter image description here

directx 的外部依赖项/头文件按预期出现在 KB01_Engine 中。当我右键单击 d3dx9.h 并单击“打开文档‘d3dx9.h’”选项时,它实际上打开了正确的文档。没有迹象表明它找不到该文件。我强烈假设此构建错误的发生是因为我将 K​​B01 引擎用作静态库而不是常规应用程序。

enter image description here

如果您想查看代码,可在此处获得:https://github.com/bdeboer95/KB01-Revamped

最佳答案

由于 paisanco 的评论,我通过添加以下两件事修复了它:

1) 显然它也需要添加库目录,我在 KB01_Engine 属性中错过了。 “图书馆员 > 其他图书馆目录”

enter image description here

2) 然后我在 KB01_Game 属性“C/C++ > Additional Include Directories”中添加了 DirectX 的包含目录: enter image description here

关于c++ - Visual Studio 2017 : Cannot open include file 'd3dx9.h' no such file or directory in a static library used by . exe 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56724070/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com