将项目移动到Visual Studio 2012时出现问题

Issue moving project to Visual Studio 2012

本文关键字:2012时 问题 Studio Visual 项目 移动      更新时间:2023-10-16

我刚刚转到Visual Studio 2012 RC进行测试。但是我在使用DirectX 11游戏项目时遇到了问题。当我构建时,我收到了1152条警告,它们看起来都是这样的:

1>e:program files (x86)microsoft directx sdk (june 2010)includedwrite.h(4972): warning C4005: 'DWRITE_E_NOFONT' : macro redefinition
1>          c:program files (x86)windows kits8.0includesharedwinerror.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>,我正在我的项目中使用它。但问题是,所有这些都在VisualStudio2010中运行。

不确定问题出在哪里。我在转换项目时是否遗漏了任何步骤?

我还应该提到,我的电脑以前崩溃了(我只丢失了Windows和注册表),所以我不得不重新安装我的大部分程序。我不知道这是否会起作用,但自从崩溃以来,我还没有在VS2010上编译过这个项目。

您需要使用VS2012重新编译所有库才能解决此问题。这是VS2012中包含的新C运行时库的问题。