我现在正试图使用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版(在哪里?