b[/b] On linux, everything works fine now. On windows too, up to the interrogate step. I’m getting this error:
built/bin/interrogate blah blah yadda yadda
*** Error in /z/projects/panda3d/thirdparty/win-libs-vc8/ode/include/ode/config.h near line 62, column 4:
"Need some help identifying the platform!"
This is the corresponding bit of code:
#elif defined(_MSC_VER) || defined(__CYGWIN32__) || defined(__MINGW32__)
#define ODE_PLATFORM_WINDOWS
#elif defined(__linux__)
#define ODE_PLATFORM_LINUX
#elif defined(__APPLE__) && defined(__MACH__)
#define ODE_PLATFORM_OSX
#else
#error "Need some help identifying the platform!"
#endif
So, I added -D_MSC_VER to the default interrogate options on windows. Not to the compiler options, since that seems to cause a lot of trouble.
That makes it fine, but is this isn’t this too dangerous to do? Or should I make it -D_MSC_VER=1400 (1400 is the code for VC2005)?
b[/b] I’m getting these linker errors on windows:
link /nologo /NOD:MFC80.LIB /NOD:LIBCI.LIB /NOD:MSVCRTD.LIB /DEBUG /nod:libc /nod:libcmtd /nod:atlthunk /DLL /MAP /MAPINFO:EXPORTS /FIXED:NO /OPT:REF /STACK:4194304 /INCREMENTAL:NO /OUT:built/bin/libpandaode.dll /IMPLIB:built/lib/libpandaode.lib /LIBPATH:"thirdparty/win-python/libs" built/tmp/pandaode_pandaode.obj built/tmp/libpandaode_module.obj built/tmp/pode_composite1.obj built/tmp/pode_composite2.obj built/tmp/pode_composite3.obj built/tmp/libpandaode_igate.obj built/lib/libpanda.lib built/lib/libpandaexpress.lib built/lib/libp3dtool.lib built/lib/libp3dtoolconfig.lib thirdparty/win-libs-vc8/ode/lib/ode.lib
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) already defined in ode.lib(convex.obj)
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: static unsigned int __cdecl std::char_traits<char>::length(char const *)" (?length@?$char_traits@D@std@@SAIPBD@Z) already defined in ode.lib(convex.obj)
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z) already defined in ode.lib(convex.obj)
msvcprt.lib(MSVCP80.dll) : error LNK2005: "public: __thiscall std::basic_string<
char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<ch
ar,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_s
tring<char,struct std::char_traits<char>,class std::allocator<char> > const &)"
(??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z) a
lready defined in ode.lib(convex.obj)
LIBCMT.lib(crtheap.obj) : error LNK2005: __malloc_crt already defined in MSVCRT.
lib(MSVCR80.dll)
LIBCMT.lib(crt0dat.obj) : error LNK2005: __amsg_exit already defined in MSVCRT.lib(MSVCR80.dll)
LIBCMT.lib(crt0dat.obj) : error LNK2005: __initterm_e already defined in MSVCRT.lib(MSVCR80.dll)
LIBCMT.lib(crt0dat.obj) : error LNK2005: _exit already defined in MSVCRT.lib(MSVCR80.dll)
LIBCMT.lib(fflush.obj) : error LNK2005: _fflush already defined in MSVCRT.lib(MSVCR80.dll)
LIBCMT.lib(realloc.obj) : error LNK2005: _realloc already defined in MSVCRT.lib(MSVCR80.dll)
LIBCMT.lib(invarg.obj) : error LNK2005: __invalid_parameter_noinfo already defined in MSVCRT.lib(MSVCR80.dll)
LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_a already defined in MSVCRT.lib(cinitexe.obj)
LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_z already defined in MSVCRT.lib(cinitexe.obj)
LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_a already defined in MSVCRT.lib(cinitexe.obj)
LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_z already defined in MSVCRT.lib(cinitexe.obj)
LIBCMT.lib(hooks.obj) : error LNK2005: "void __cdecl terminate(void)" (?terminate@@YAXXZ) already defined in MSVCRT.lib(MSVCR80.dll)
LIBCMT.lib(winxfltr.obj) : error LNK2005: ___CppXcptFilter already defined in MSVCRT.lib(MSVCR80.dll)
LIBCMT.lib(tidtable.obj) : error LNK2005: __encode_pointer already defined in MSVCRT.lib(MSVCR80.dll)
LIBCMT.lib(tidtable.obj) : error LNK2005: __encoded_null already defined in MSVCRT.lib(MSVCR80.dll)
LIBCMT.lib(tidtable.obj) : error LNK2005: __decode_pointer already defined in MSVCRT.lib(MSVCR80.dll)
LIBCMT.lib(mlock.obj) : error LNK2005: __unlock already defined in MSVCRT.lib(MSVCR80.dll)
LIBCMT.lib(mlock.obj) : error LNK2005: __lock already defined in MSVCRT.lib(MSVCR80.dll)
Creating library built/lib/libpandaode.lib and object built/lib/libpandaode.e
xp
LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; us
e /NODEFAULTLIB:library
LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; us
e /NODEFAULTLIB:library
ode.lib(error.obj) : error LNK2019: unresolved external symbol __imp__MessageBox
A@16 referenced in function _dError
ode.lib(convex.obj) : error LNK2019: unresolved external symbol "public: void __
thiscall std::_String_base::_Xran(void)const " (?_Xran@_String_base@std@@QBEXXZ)
referenced in function "public: class std::basic_string<char,struct std::char_t
raits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,str
uct std::char_traits<char>,class std::allocator<char> >::erase(unsigned int,unsi
gned int)" (?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@
QAEAAV12@II@Z)
ode.lib(convex.obj) : error LNK2019: unresolved external symbol "public: void __
thiscall std::_String_base::_Xlen(void)const " (?_Xlen@_String_base@std@@QBEXXZ)
referenced in function "protected: bool __thiscall std::basic_string<char,struc
t std::char_traits<char>,class std::allocator<char> >::_Grow(unsigned int,bool)"
(?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NI_N@Z
)
LIBCMT.lib(crt0.obj) : error LNK2019: unresolved external symbol _main reference
d in function ___tmainCRTStartup
built/bin/libpandaode.dll : fatal error LNK1120: 4 unresolved externals
Sorry to be a bother again, but these errors tell me nothing. It’s been months since I’ve booted into windows, I barely compile stuff on windows.