Skip to main content
gamedev.net
🔒 Locked

compiling collada sdk

Started by supagu Apr 8, 2006 at 9:38 AM 5 replies 3.3k views
Original Post
supagu
supagu
im trying to compile the collada sdk so i can make a converter for the dae/xml format to my engine file format. Now it says it cant find some libxml headers. Im wondering where i can get this as it seems it doesnt come with the collada sdk. Or if some one already has precompiled dae libraries?
Kwizatz
Kwizatz
Actualy, libxml is part of the GNOME project.
supagu
supagu
okay it all looks good now except for 1 missing header:


seems to be a unix only header, is there some windows equivelent?
supagu
supagu
okay i found this nifty website with precompiled binaries: http://www.zlatkovic.com/pub/libxml/

so i managed to get collada to compile, however, when i try to compile a project that uses it, i get link errors:

Linking...MSVCRT.lib(MSVCR80.dll) : error LNK2005: _sprintf already defined in LIBCMTD.lib(sprintf.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: _strncmp already defined in LIBCMTD.lib(strncmp.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: _fflush already defined in LIBCMTD.lib(fflush.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: ___iob_func already defined in LIBCMTD.lib(_file.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: _isdigit already defined in LIBCMTD.lib(_ctype.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: _isalpha already defined in LIBCMTD.lib(_ctype.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: _malloc already defined in LIBCMTD.lib(dbgheap.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: _free already defined in LIBCMTD.lib(dbgheap.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: _memmove already defined in LIBCMTD.lib(memmove.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: "public: __thiscall std::exception::exception(char const * const &)" (??0exception@std@@QAE@ABQBD@Z) already defined in LIBCMTD.lib(stdexcpt.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: "public: virtual __thiscall std::exception::~exception(void)" (??1exception@std@@UAE@XZ) already defined in LIBCMTD.lib(stdexcpt.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: "public: __thiscall std::exception::exception(void)" (??0exception@std@@QAE@XZ) already defined in LIBCMTD.lib(stdexcpt.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: "public: __thiscall std::exception::exception(class std::exception const &)" (??0exception@std@@QAE@ABV01@@Z) already defined in LIBCMTD.lib(stdexcpt.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: _memmove_s already defined in LIBCMTD.lib(memmove_s.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: _fclose already defined in LIBCMTD.lib(fclose.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: _realloc already defined in LIBCMTD.lib(dbgheap.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: _printf already defined in LIBCMTD.lib(printf.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: _fwrite already defined in LIBCMTD.lib(fwrite.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: __errno already defined in LIBCMTD.lib(dosmap.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: _strchr already defined in LIBCMTD.lib(strchr.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: _strtol already defined in LIBCMTD.lib(strtol.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: _getenv already defined in LIBCMTD.lib(getenv.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: __isnan already defined in LIBCMTD.lib(ieeemisc.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: __fpclass already defined in LIBCMTD.lib(ieeemisc.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: _fputc already defined in LIBCMTD.lib(fputc.obj)MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: __read already defined in LIBCMTD.lib(read.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: __write already defined in LIBCMTD.lib(write.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: __close already defined in LIBCMTD.lib(close.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> >(class std::basic_string<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) already defined in ColladaConvert.objmsvcprt.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 ColladaConvert.objmsvcprt.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 ColladaConvert.objMSVCRT.lib(MSVCR80.dll) : error LNK2005: _fseek already defined in LIBCMTD.lib(fseek.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: _ftell already defined in LIBCMTD.lib(ftell.obj)MSVCRT.lib(MSVCR80.dll) : error LNK2005: _abort already defined in LIBCMTD.lib(abort.obj)


any ideas on a work around?
d_emmanuel
d_emmanuel
You need to compile both COLLADA and your own app/library with the same version of the C-runtime library. In VC++, you can change the runtime library as follows:

Click on project properties -> C/C++ -> Code Generation -> Runtime Library

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.