我刚刚转移到 Visual Studio 2012 RC 进行测试。但我无法让我的 DirectX 11 游戏项目使用它。当我构建时,我收到 1152 条警告,它们看起来像这样:
1>e:\program files (x86)\microsoft directx sdk (june 2010)\include\dwrite.h(4972): warning C4005: 'DWRITE_E_NOFONT' : macro redefinition
1> c:\program files (x86)\windows kits\8.0\include\shared\winerror.h(50217) : see previous definition of 'DWRITE_E_NOFONT'
它们来自所有 DirectX 标头,每个标头用于不同的宏。我还得到了一些以前没有得到的未解析的外部符号:
1>base.obj : error LNK2019: unresolved external symbol "void __cdecl operator delete(void *,int,char const *,int)" (??3@YAXPAXHPBDH@Z) referenced in function __unwindfunclet$??__EgGame@@YAXXZ$0
1>game.obj : error LNK2001: unresolved external symbol "void __cdecl operator delete(void *,int,char const *,int)" (??3@YAXPAXHPBDH@Z)
1>world.obj : error LNK2001: unresolved external symbol "void __cdecl operator delete(void *,int,char const *,int)" (??3@YAXPAXHPBDH@Z)
我认为唯一delete
会超载的地方是#include <crtdbg.h>
我在我的项目中使用的。但问题是,这一切都在 Visual Studio 2010 中运行。
不确定是什么问题。转换项目时我是否遗漏了任何步骤?
我还应该提到我的计算机以前崩溃了(我只丢失了 Windows 和注册表),所以我不得不重新安装我的大部分程序。我不知道这是否会发挥作用,但自崩溃以来我还没有在 VS2010 上编译该项目。