I’ve just moved over to Visual Studio 2012 RC to give it a test run. But I’m having problems with getting my DirectX 11 game project to work with it. When I build I get 1152 warnings that all look like this:
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'
They come from all the DirectX headers and each one is for a different macro. I also get some unresolved external symbols I didn’t get before:
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)
The only place I would think delete would be overloaded is in #include <crtdbg.h>, which I am using in my project. But the thing is, all this working in Visual Studio 2010.
Not to sure what the problem is. Am I missing any steps when converting the projects?
I should also mention that my computer previously crashed (I only lost Windows, and the registry) so I’ve had to reinstall most of my programs. I don’t know if this will come into play, but I haven’t compiled the project on VS2010 since the crash.
You need to recompile all your libraries with VS2012 in order to fix this issue. It is a problem with the new C run-time library included with the VS2012.