gpt4 book ai didi

c++ - 使用 VS2012 和 DirectX 的警告(2010 年 6 月)

转载 作者:太空狗 更新时间:2023-10-29 20:43:08 27 4
gpt4 key购买 nike

我正在尝试在 VS2012 中继续处理我的 VS2010 项目。我使用 Directx 11(2010 年 6 月)版本,每当我调试我的代码时,都会弹出一堆警告。

像这样:

6>C:\Program Files\Microsoft DirectX SDK (June 2010)\Include\D2DErr.h(59):
warning C4005: 'D2DERR_WRONG_STATE' : macro redefinition
6>C:\Program Files\Windows Kits\8.0\Include\shared\winerror.h(49859):
see previous definition of 'D2DERR_WRONG_STATE'
6>C:\Program Files\Microsoft DirectX SDK (June 2010)\Include\D2DErr.h(64):
warning C4005: 'D2DERR_NOT_INITIALIZED' : macro redefinition
6>C:\Program Files\Windows Kits\8.0\Include\shared\winerror.h(49868):
see previous definition of 'D2DERR_NOT_INITIALIZED'

有没有办法让警告消失,而不是禁用它们。或者我应该将我的代码转换为其中包含 directx 的 windows sdk 8.0,然后从项目中完全删除旧的 DX(2012 年 6 月)。

最佳答案

这很复杂。 MSDN 有一个很长的页面 full story .

简而言之:部分 DXSDK 现在包含在 Win8 SDK 中。如果你想将它们与 VS2012 一起使用,你最好不要使用 DXSDK。遗憾的是,Microsoft 不再支持 DX 的某些部分,因此未包含在新的 Win8 SDK 中。突出的例子是 D3DX 实用程序库。如果您想使用它们,则必须引入旧的 DXSDK。

在这种情况下,您必须确保不要在两个 SDK 的不同版本中包含相同的 header ,这可能会很麻烦。对于这种情况,一个简单的解决方法是仅将您需要的 header 从 DXSDK 移动到单独的包含目录,以避免意外拉入错误的 header 。

关于c++ - 使用 VS2012 和 DirectX 的警告(2010 年 6 月),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16224273/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com