Error while compiling with Visual Studio 2012

I’m try to compile sample with Visual Studio 2012 C++ (using Release configuration)
But i get errors :

1>C:\Program Files (x86)\Windows Kits\8.0\Include\shared\basetsd.h(464): error C2040: 'DWORD_PTR' : 'ULONG_PTR' differs in levels of indirection from 'void *'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\shared\minwindef.h(127): warning C4005: 'CALLBACK' : macro redefinition
1>          C:\Panda3D-1.8.0\include\parser-inc\windows.h(46) : see previous definition of 'CALLBACK'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\shared\minwindef.h(128): warning C4005: 'WINAPI' : macro redefinition
1>          C:\Panda3D-1.8.0\include\parser-inc\windows.h(48) : see previous definition of 'WINAPI'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\shared\minwindef.h(156): error C2371: 'DWORD' : redefinition; different basic types
1>          C:\Panda3D-1.8.0\include\parser-inc\windows.h(24) : see declaration of 'DWORD'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\shared\minwindef.h(157): error C2371: 'BOOL' : redefinition; different basic types
1>          C:\Panda3D-1.8.0\include\parser-inc\windows.h(23) : see declaration of 'BOOL'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\shared\minwindef.h(177): error C2371: 'UINT' : redefinition; different basic types
1>          C:\Panda3D-1.8.0\include\parser-inc\windows.h(26) : see declaration of 'UINT'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(356): error C2371: 'WCHAR' : redefinition; different basic types
1>          C:\Panda3D-1.8.0\include\parser-inc\windows.h(37) : see declaration of 'WCHAR'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(433): error C2371: 'LPSTR' : redefinition; different basic types
1>          C:\Panda3D-1.8.0\include\parser-inc\windows.h(33) : see declaration of 'LPSTR'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(529): error C2040: 'HANDLE' : 'void *' differs in levels of indirection from 'int'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(718): error C2371: 'LARGE_INTEGER' : redefinition; different basic types
1>          C:\Panda3D-1.8.0\include\parser-inc\windows.h(50) : see declaration of 'LARGE_INTEGER'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(4911): error C2733: '_BitScanForward' : second C linkage of overloaded function not allowed
1>          C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\intrin.h(101) : see declaration of '_BitScanForward'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(4918): error C2733: '_BitScanReverse' : second C linkage of overloaded function not allowed
1>          C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\intrin.h(103) : see declaration of '_BitScanReverse'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(5058): error C2733: '__readfsbyte' : second C linkage of overloaded function not allowed
1>          C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\intrin.h(371) : see declaration of '__readfsbyte'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(5063): error C2733: '__readfsword' : second C linkage of overloaded function not allowed
1>          C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\intrin.h(374) : see declaration of '__readfsword'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(5068): error C2733: '__readfsdword' : second C linkage of overloaded function not allowed
1>          C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\intrin.h(372) : see declaration of '__readfsdword'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(5073): error C2733: '__writefsbyte' : second C linkage of overloaded function not allowed
1>          C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\intrin.h(427) : see declaration of '__writefsbyte'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(5079): error C2733: '__writefsword' : second C linkage of overloaded function not allowed
1>          C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\intrin.h(430) : see declaration of '__writefsword'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(5085): error C2733: '__writefsdword' : second C linkage of overloaded function not allowed
1>          C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\intrin.h(428) : see declaration of '__writefsdword'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(5092): warning C4391: 'DWORD __readfsdword(DWORD)' : incorrect return type for intrinsic function, expected 'unsigned long'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(5104): error C2733: '__incfsbyte' : second C linkage of overloaded function not allowed
1>          C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\intrin.h(308) : see declaration of '__incfsbyte'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(5109): error C2733: '__addfsbyte' : second C linkage of overloaded function not allowed
1>          C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\intrin.h(287) : see declaration of '__addfsbyte'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(5115): error C2733: '__incfsword' : second C linkage of overloaded function not allowed
1>          C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\intrin.h(310) : see declaration of '__incfsword'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(5120): error C2733: '__addfsword' : second C linkage of overloaded function not allowed
1>          C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\intrin.h(289) : see declaration of '__addfsword'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(5126): error C2733: '__incfsdword' : second C linkage of overloaded function not allowed
1>          C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\intrin.h(309) : see declaration of '__incfsdword'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(5131): error C2733: '__addfsdword' : second C linkage of overloaded function not allowed
1>          C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\intrin.h(288) : see declaration of '__addfsdword'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(5217): error C2733: '__readpmc' : second C linkage of overloaded function not allowed
1>          C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\intrin.h(380) : see declaration of '__readpmc'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(5273): error C2668: '__readfsdword' : ambiguous call to overloaded function
1>          C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(5068): could be 'DWORD __readfsdword(DWORD)'
1>          C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\intrin.h(372): or       'unsigned long __readfsdword(unsigned long)'
1>          while trying to match the argument list '(int)'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(5274): error C2668: '__readfsdword' : ambiguous call to overloaded function
1>          C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(5068): could be 'DWORD __readfsdword(DWORD)'
1>          C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\intrin.h(372): or       'unsigned long __readfsdword(unsigned long)'
1>          while trying to match the argument list '(int)'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(18862): error C2668: '__readfsdword' : ambiguous call to overloaded function
1>          C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(5068): could be 'DWORD __readfsdword(DWORD)'
1>          C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\intrin.h(372): or       'unsigned long __readfsdword(unsigned long)'
1>          while trying to match the argument list '(int)'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\minwinbase.h(198): error C2371: 'CRITICAL_SECTION' : redefinition; different basic types
1>          C:\Panda3D-1.8.0\include\parser-inc\windows.h(29) : see declaration of 'CRITICAL_SECTION'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\sysinfoapi.h(511): error C2733: 'VerSetConditionMask' : second C linkage of overloaded function not allowed
1>          C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(17039) : see declaration of 'VerSetConditionMask'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winuser.h(12482): error C2371: 'FILTERKEYS' : redefinition; different basic types
1>          C:\Panda3D-1.8.0\include\parser-inc\windows.h(44) : see declaration of 'FILTERKEYS'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winuser.h(12505): error C2371: 'STICKYKEYS' : redefinition; different basic types
1>          C:\Panda3D-1.8.0\include\parser-inc\windows.h(42) : see declaration of 'STICKYKEYS'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winuser.h(12678): error C2371: 'TOGGLEKEYS' : redefinition; different basic types
1>          C:\Panda3D-1.8.0\include\parser-inc\windows.h(43) : see declaration of 'TOGGLEKEYS'
1>C:\Program Files (x86)\Windows Kits\8.0\Include\shared\stralign.h(120): error C2664: 'wcscpy' : cannot convert parameter 1 from 'PUWSTR' to 'wchar_t *'
1>          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>c:\panda3d-1.8.0\include\mutexWin32Impl.I(23): error C2664: 'DeleteCriticalSection' : cannot convert parameter 1 from 'CRITICAL_SECTION *' to 'LPCRITICAL_SECTION'
1>          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>c:\panda3d-1.8.0\include\mutexWin32Impl.I(33): error C2664: 'EnterCriticalSection' : cannot convert parameter 1 from 'CRITICAL_SECTION *' to 'LPCRITICAL_SECTION'
1>          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>c:\panda3d-1.8.0\include\mutexWin32Impl.I(43): error C2664: 'TryEnterCriticalSection' : cannot convert parameter 1 from 'CRITICAL_SECTION *' to 'LPCRITICAL_SECTION'
1>          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>c:\panda3d-1.8.0\include\mutexWin32Impl.I(53): error C2664: 'LeaveCriticalSection' : cannot convert parameter 1 from 'CRITICAL_SECTION *' to 'LPCRITICAL_SECTION'
1>          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>c:\panda3d-1.8.0\include\conditionVarWin32Impl.I(46): error C2664: 'LeaveCriticalSection' : cannot convert parameter 1 from 'CRITICAL_SECTION *' to 'LPCRITICAL_SECTION'
1>          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>c:\panda3d-1.8.0\include\conditionVarWin32Impl.I(51): error C2664: 'EnterCriticalSection' : cannot convert parameter 1 from 'CRITICAL_SECTION *' to 'LPCRITICAL_SECTION'
1>          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>c:\panda3d-1.8.0\include\conditionVarWin32Impl.I(61): error C2664: 'LeaveCriticalSection' : cannot convert parameter 1 from 'CRITICAL_SECTION *' to 'LPCRITICAL_SECTION'
1>          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>c:\panda3d-1.8.0\include\conditionVarWin32Impl.I(66): error C2664: 'EnterCriticalSection' : cannot convert parameter 1 from 'CRITICAL_SECTION *' to 'LPCRITICAL_SECTION'
1>          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>c:\panda3d-1.8.0\include\conditionVarFullWin32Impl.I(55): error C2664: 'LeaveCriticalSection' : cannot convert parameter 1 from 'CRITICAL_SECTION *' to 'LPCRITICAL_SECTION'
1>          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>c:\panda3d-1.8.0\include\conditionVarFullWin32Impl.I(72): error C2664: 'EnterCriticalSection' : cannot convert parameter 1 from 'CRITICAL_SECTION *' to 'LPCRITICAL_SECTION'
1>          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>c:\panda3d-1.8.0\include\conditionVarFullWin32Impl.I(87): error C2664: 'LeaveCriticalSection' : cannot convert parameter 1 from 'CRITICAL_SECTION *' to 'LPCRITICAL_SECTION'
1>          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>c:\panda3d-1.8.0\include\conditionVarFullWin32Impl.I(104): error C2664: 'EnterCriticalSection' : cannot convert parameter 1 from 'CRITICAL_SECTION *' to 'LPCRITICAL_SECTION'
1>          Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>c:\program files (x86)\windows kits\8.0\include\shared\wtypesbase.h(145): error C2371: 'ULONG' : redefinition; different basic types
1>          C:\Panda3D-1.8.0\include\parser-inc\windows.h(27) : see declaration of 'ULONG'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

What i can do with this?

We don’t currently support compiling with Visual Studio 2012, only with 2008. If you still wish to use 2012, you will need to go into the Panda3D source code and fix these errors yourself, sorry.

My 2 cts:
Actually there is one way to use Visual Studio 2012 Compiler to build Panda, the only “watch out” is to make sure your VS2012 project is setup with the option vs90 (ie the VS2008 c++ run time libraries!).
:slight_smile: