max 6.0.4 sdk failing to build on visual studio 2012

diablodale's icon

Hi. In trying the new Microsoft Visual Studio Express 2012, I found an issue with Max 6.0.4 SDK while compiling an external on Windows.
When building, only the debug builds compile. The release builds fail.
The building release, I get the following errors:1>dp.kinect.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) char const * __cdecl std::_Winerror_map(int)" (__imp_?_Winerror_map@std@@YAPBDH@Z)
1>dp.kinect.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) char const * __cdecl std::_Syserror_map(int)" (__imp_?_Syserror_map@std@@YAPBDH@Z)
1>dp.kinect.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) void __cdecl std::_Xbad_alloc(void)" (__imp_?_Xbad_alloc@std@@YAXXZ)
1>dp.kinect.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) void __cdecl std::_Xout_of_range(char const *)" (__imp_?_Xout_of_range@std@@YAXPBD@Z)
1>dp.kinect.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) void __cdecl std::_Xlength_error(char const *)" (__imp_?_Xlength_error@std@@YAXPBD@Z)

Perhaps this is related to a compatibility with the Max private build of the Microsoft C Runtime Library. Why? Because if I define MAXAPI_USE_MSCRT, then I have no errors on release or debug builds.

As an additional inquiry, were both maxcrt.lib and maxcrt_p.lib in SDK 6.0.4. compiled as a multithreaded DLL library with /MD?

tap's icon

Thanks for the report. We have just started exploring a transition to Visual Studio 2012 and there do appear to be some issues to sort out.

Cheers,
Tim