VS 2017 找不到 DirectX 包含文件
VS 2017 won't find DirectX include files
我已经安装了DirectX SDK,我想在Visual Studio 2017中的C++项目中使用它。我配置了C++包含路径,并添加了一个带有DirectX SDK包含文件($(DXSDK_DIR)Include
)的目录,该目录正确解析为所有文件所在的C:Program Files (x86)Microsoft DirectX SDK (June 2010)Include
但当我尝试#include <d3dx9core.h>
时,它说找不到文件,正如我自己检查的那样,它正确安装在Include
目录中。
我该如何解决这个问题?
要将旧版DirectX SDK与VS 2010或更高版本一起使用,必须手动添加对include/lib路径的引用。这通常是通过编辑项目的VC++目录设置来完成的,将DirectX SDK文件夹放在第一位。
要在VS 2012或更高版本中使用旧版DirectX SDK,您需要使用反向路径顺序(在标准文件夹之后列出DirectX SDK文件夹),因为Windows 8.x/Windows 10 SDK包含比旧版DirectX SDK新的标头。当然,没有更新版本的D3DX9标头。
对于x86/Win32配置:
$(ExecutablePath);$(DXSDK_DIR)Utilitiesbinx86
$(IncludePath);$(DXSDK_DIR)Include
$(LibraryPath);$(DXSDK_DIR)Libx86
对于x64本机配置:
$(ExecutablePath);$(DXSDK_DIR)Utilitiesbinx64;$(DXSDK_DIR)Utilitiesbinx86
$(IncludePath);$(DXSDK_DIR)Include
$(LibraryPath);$(DXSDK_DIR)Libx64
在执行此操作时,还有一些已知的问题在Microsoft文档中得到了解决。例如,在包含d3dx9.h
之前,您应该先显式包含d3d9.h
,否则您将使用旧的d3d9.h
标头。
顺便说一句,dxerr.lib
静态库与VS 2015/VS 2017 C/C++运行时不兼容。DXERR.LIB在哪里?
最后一个问题:Windows 8.x或Windows 10不支持Direct3D 9调试设备。
请务必查看DirectX SDK、Not So DirectSetup和DXSETUP Update 在哪里
您还应该查看没有D3DX的生活、DirectX SDK工具目录、DirectX SDK示例目录和僵尸DirectX SDK
- vcruntime.h 从 Windows 包含文件夹中丢失?
- 禁止显示有关包含文件中 #pragma 包的警告
- 无法打开包含文件:在 vs2017 上'QtWidgets/qtwidgetsglobal.h'
- 包含文件 <sched_yield.h>在我的 RHEL 5 上找不到
- 尝试使用 MSVC 从源代码构建 qt 创建器:无法打开包含文件:"stddef.h":没有这样的文件或目录
- 无法打开包含文件'Graphics.hpp'没有这样的文件或目录,Visual Studio的其他包含不起作用
- 为什么 C++ 编译器在"c:program filesgnu emacsinclude"中查找包含文件?
- 包含文件中的 Typdef "未在此范围内声明"
- 错误: C1083: 无法打开包含文件:"boost/asio.hpp": 没有此类文件或目录
- SFML c ++ 当包含文件内游戏中发生事件时,如何使用铃声函数为我的游戏创建声音类?
- 在Windows上设置CMake和vcpkg时出错"无法打开包含文件"
- 致命错误 C1083:无法打开包含文件:"GL/glew.h":没有此类文件或目录
- Qt自动生成的.rc文件无法打开包含文件'windows.h'
- Visual Studio 停止识别任何包含文件
- 无法打开包含文件:"签证.h"
- 如何检查每个头文件是否包含必需的包含文件?
- Protobuf:无法在 message.pb.h 文件中打开包含文件 common.h
- extern 关键字在包含文件头文件C++
- 错误:无法打开包含文件:"MQTTAsync.h":没有此类文件或目录
- #include "date.h" 创建错误 E1696 无法打开源文件"date.h",也无法打开包含文件:没有这样的文件或目录