我正在使用 Windows 10 上的 Visual Studio 2015 开发 C 程序。当我包含 XAudio2.h 时,我得到了几百个编译器错误,我相信这些错误都源于这个:
错误 C2485 'uuid':无法识别的扩展属性
无论如何让 XAudio2 与 C 应用程序一起工作?
简而言之,最新版本的 XAudio2(Windows 8.x SDK 中的 XAudio 2.8,Windows 10 SDK 中的 XAudio 2.9)不支持 C,只支持 C++。
已弃用的 DirectX SDK中较旧的 XAudio 2.7使用C 构建,尽管它基本上没有经过 C 测试。事实上,在很长一段时间内,从 C 而不是 C++ 中使用 DirectX 并没有真正经过测试或得到很好的支持。用于生成 COM 接口标头的 MIDL 编译器仍然有很多与 C 相关的支持宏和元素,当 C 使用是一等公民时,但这些东西肯定处于“原样”状态,几乎没有测试覆盖率。
您可以继续让自己感到沮丧,您可以将所有 C++ 代码包装在您自己的 C 可调用包装器中,或者直接开始使用 C++。