Windows 8 Visual Studio 2012认为我';我在Windows 8上,需要我不需要的库';你没有吗?
我从2010年6月开始在DirectX 11 SDK中的一个示例中实现了代码。我在2012年打开了我的项目,然后在2012年也打开了示例,但是当我运行我的时,它需要XAudio2_8.dll。这怎么可能呢?这是Windows 8中的.dll,SDK中的代码是2010年的-这样的.dll在当时并不存在?最奇怪的是SDK示例的构建和运行,而我的项目需要.dll。我链接了所有库,制作了所有包含,我检查了项目设置,在整个硬盘上搜索这样一个dll,什么都没有…什么会导致这样的问题?我在VS2012下的SDK中也遇到了各种其他问题,比如无法识别dx11头中的类型等等。基本规则是,如果您在Win 8上开发XAudio2程序,请使用Windows SDK,否则,请使用DirectX SDK 如果您正在使用Win7,请确保Windows 8 Visual Studio 2012认为我';我在Windows 8上,需要我不需要的库';你没有吗?,windows-8,visual-studio-2012,directx-11,xaudio2,Windows 8,Visual Studio 2012,Directx 11,Xaudio2,我从2010年6月开始在DirectX 11 SDK中的一个示例中实现了代码。我在2012年打开了我的项目,然后在2012年也打开了示例,但是当我运行我的时,它需要XAudio2_8.dll。这怎么可能呢?这是Windows 8中的.dll,SDK中的代码是2010年的-这样的.dll在当时并不存在?最奇怪的是SDK示例的构建和运行,而我的项目需要.dll。我链接了所有库,制作了所有包含,我检查了项目设置,在整个硬盘上搜索这样一个dll,什么都没有…什么会导致这样的问题?我在VS2012下的SD
基本规则是,如果您在Win 8上开发XAudio2程序,请使用Windows SDK,否则,请使用DirectX SDK 如果您正在使用Win7,请确保
Windows 8.x SDK集成了DirectX SDK,这在许多领域意味着您根本不需要使用传统的DirectX SDK。特别是,Direct3D、DirectSound、DirectInput等在Windows 8.x SDK中都具有适当的头文件和库文件 DirectX SDK非常受人尊敬,因此缺少了一些旧的东西:没有DirectMusic播放、DirectPlay等。我有一篇文章提供了DirectX SDK中所有东西的完整清单 变得复杂的是XAudio和XInput。XAudio 2.8和XInput 1.4都是Windows 8.x操作系统的一部分,但在Windows 7上不可用。如果您的目标是Windows 7的“底层”,则必须使用XAudio 2.7和XInput 1.3或XInput 9.1.0。这个有点混乱的故事包含在两篇博文中:一篇为,另一篇为。好消息是,XInput的大部分使用实际上在XInput 9.1.0中是可行的,XInput 9.1.0是从windowsvista开始的Windows操作系统的一部分。XAudio“底层”需要混合使用现代Windows 8.x SDK和传统DirectX SDK,再加上必须使用传统DirectX SDK REDIST(DirectSetup) 出现“运行时”错误而不是“编译时”错误的根本原因是,您没有为Windows 7将_WIN32_WINNT设置为0x0601(或为Windows Vista设置为0x0600)。如果有,Windows 8.x SDK中的XINPUT.H头将自动使用XINPUT 9.1.0版本,而Windows 8.x SDK中的XAUIOD2.H头将出错,并告诉您它不适用于Windows 7
最后,我清理了许多旧的Direct SDK示例,并将其重新发布到中,这样它们就不需要旧的DirectX SDK了。Windows 8.x SDK集成了DirectX SDK,这在许多方面意味着您根本不需要使用旧的DirectX SDK。特别是,Direct3D、DirectSound、DirectInput等在Windows 8.x SDK中都具有适当的头文件和库文件 DirectX SDK非常受人尊敬,因此缺少了一些旧的东西:没有DirectMusic播放、DirectPlay等。我有一篇文章提供了DirectX SDK中所有东西的完整清单 变得复杂的是XAudio和XInput。XAudio 2.8和XInput 1.4都是Windows 8.x操作系统的一部分,但在Windows 7上不可用。如果您的目标是Windows 7的“底层”,则必须使用XAudio 2.7和XInput 1.3或XInput 9.1.0。这个有点混乱的故事包含在两篇博文中:一篇为,另一篇为。好消息是,XInput的大部分使用实际上在XInput 9.1.0中是可行的,XInput 9.1.0是从windowsvista开始的Windows操作系统的一部分。XAudio“底层”需要混合使用现代Windows 8.x SDK和传统DirectX SDK,再加上必须使用传统DirectX SDK REDIST(DirectSetup) 出现“运行时”错误而不是“编译时”错误的根本原因是,您没有为Windows 7将_WIN32_WINNT设置为0x0601(或为Windows Vista设置为0x0600)。如果有,Windows 8.x SDK中的XINPUT.H头将自动使用XINPUT 9.1.0版本,而Windows 8.x SDK中的XAUIOD2.H头将出错,并告诉您它不适用于Windows 7
最后,我清理了许多旧的Direct SDK示例并将其重新发布到,这样它们就不需要旧的DirectX SDK了。所以…您不能使用XAudio2开发在win 7和win 8之间工作的代码??我很困惑…2010年6月SDK中使用XAudio2的应用程序会在Win8上运行吗?我认为,这是可能的