将directx添加到include和库目录会引发300多个错误



我现在正试图使用direct x 9/10,但一旦我添加

C:Program Files %28x86%29Microsoft DirectX SDK %28November 2008%29Include

到我的包含目录和

C:Program Files %28x86%29Microsoft DirectX SDK %28November 2008%29Libx86 

到我的库目录

我得到397个错误,主要由组成

identifier "__RPC__inout_xcount" is undefined

expected a ')'  solution    C:Program Files (x86)Windows Kits10Include10.0.18362.0umOAIdl.h  5621    

我不明白是什么导致了我从未接触过的dll中的所有这些错误,它位于我以前从未见过的文件夹中。感谢提供的任何帮助

基本问题是,要将旧版DirectX SDK与Windows 10 SDK结合使用,必须颠倒include/lib路径搜索顺序。

对于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

或者,您需要使用v14?_xp平台工具集,该工具集使用Windows 7.1A SDK。

旧版DirectX SDK设计用于与VS 2010附带的Windows 7 SDK或更早版本配合使用,现在已弃用DirectX SDK。

请参阅Microsoft文档和此博客文章。

一个更好的选择是完全不使用传统的DirectX SDK,这意味着使用DirectX 11而不是旧的DX9/DX10 API。请参阅没有D3DX的生活。

还有各种StackOverflow线程都是相同的基本问题:

  • VS 2017赢得';找不到DirectX包含文件

请务必阅读DirectX SDK(2021版(在哪里?

最新更新