From: Gregory.A.Book on 9 Jan 2007 15:41 I've been using the 2.6.3 library for a while for my program and decided to try the 2.8.0 library, both in VC++2005. I've been able to compile and link my program against 2.6.3 with no problems so far. I was able to compile wxWidgets 2.8.0 and generate the .lib files. When I build my program against 2.8.0, it compiles with no problem, but it generates errors during the linking phase. The errors generated are below. Anyone have any idea whats happening? Thanks, Greg 1>Generating Code... 1>Compiling resources... 1>Compiling manifest to resources... 1>Linking... 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _isdigit already defined in LIBCMTD.lib(_ctype.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _tolower already defined in LIBCMTD.lib(tolower.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _free already defined in LIBCMTD.lib(dbgheap.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _toupper already defined in LIBCMTD.lib(toupper.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _calloc already defined in LIBCMTD.lib(dbgheap.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _strncpy already defined in LIBCMTD.lib(strncpy.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _strchr already defined in LIBCMTD.lib(strchr.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _malloc already defined in LIBCMTD.lib(dbgheap.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _sscanf already defined in LIBCMTD.lib(sscanf.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _strncmp already defined in LIBCMTD.lib(strncmp.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _atoi already defined in LIBCMTD.lib(atox.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _isalnum already defined in LIBCMTD.lib(_ctype.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __strnicmp already defined in LIBCMTD.lib(strnicmp.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _floor already defined in LIBCMTD.lib(floor_pentium4.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _ceil already defined in LIBCMTD.lib(ceil_pentium4.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _sprintf already defined in LIBCMTD.lib(sprintf.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _isalpha already defined in LIBCMTD.lib(_ctype.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _memmove already defined in LIBCMTD.lib(memmove.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _isspace already defined in LIBCMTD.lib(_ctype.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _strftime already defined in LIBCMTD.lib(strftime.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __wassert already defined in LIBCMTD.lib(wassert.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _wcstombs already defined in LIBCMTD.lib(wcstombs.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _mbstowcs already defined in LIBCMTD.lib(mbstowcs.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _wcslen already defined in LIBCMTD.lib(wcslen.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _realloc already defined in LIBCMTD.lib(dbgheap.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _strtol already defined in LIBCMTD.lib(strtol.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _strtoul already defined in LIBCMTD.lib(strtol.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __strtoi64 already defined in LIBCMTD.lib(strtoq.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __strtoui64 already defined in LIBCMTD.lib(strtoq.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _strtod already defined in LIBCMTD.lib(strtod.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __errno already defined in LIBCMTD.lib(dosmap.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __vsprintf_p already defined in LIBCMTD.lib(vsnprnc.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _strpbrk already defined in LIBCMTD.lib(strpbrk.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _exit already defined in LIBCMTD.lib(crt0dat.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _setlocale already defined in LIBCMTD.lib(setlocal.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __stricmp already defined in LIBCMTD.lib(stricmp.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __close already defined in LIBCMTD.lib(close.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __read already defined in LIBCMTD.lib(read.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __write already defined in LIBCMTD.lib(write.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __commit already defined in LIBCMTD.lib(commit.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __lseeki64 already defined in LIBCMTD.lib(lseeki64.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __open_osfhandle already defined in LIBCMTD.lib(osfinfo.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _getenv already defined in LIBCMTD.lib(getenv.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _abort already defined in LIBCMTD.lib(abort.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: ___iob_func already defined in LIBCMTD.lib(_file.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _fflush already defined in LIBCMTD.lib(fflush.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _fputc already defined in LIBCMTD.lib(fputc.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _fputs already defined in LIBCMTD.lib(fputs.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _atol already defined in LIBCMTD.lib(atox.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _fopen already defined in LIBCMTD.lib(fopen.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _fclose already defined in LIBCMTD.lib(fclose.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _fread already defined in LIBCMTD.lib(fread.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _ferror already defined in LIBCMTD.lib(feoferr.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _fwrite already defined in LIBCMTD.lib(fwrite.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _fseek already defined in LIBCMTD.lib(fseek.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _ftell already defined in LIBCMTD.lib(ftell.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __getcwd already defined in LIBCMTD.lib(getcwd.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __get_osfhandle already defined in LIBCMTD.lib(osfinfo.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __fileno already defined in LIBCMTD.lib(fileno.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _feof already defined in LIBCMTD.lib(feoferr.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _fprintf already defined in LIBCMTD.lib(fprintf.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __CrtSetDbgFlag already defined in LIBCMTD.lib(dbgheap.obj) 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _printf already defined in LIBCMTD.lib(printf.obj) 1>MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE(a)ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj) 1>MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0(a)ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj) 1>LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library 1>OptionsDialog.obj : error LNK2019: unresolved external symbol "public: void __thiscall wxStringData::Free(void)" (?Free(a)wxStringData@@QAEXXZ) referenced in function "public: void __thiscall wxStringData::Unlock(void)" (?Unlock(a)wxStringData@@QAEXXZ) 1>SegmentationFrame.obj : error LNK2001: unresolved external symbol "public: void __thiscall wxStringData::Free(void)" (?Free(a)wxStringData@@QAEXXZ) .... and this continues for all objects in my program ... 1>AnonymizeDialog.obj : error LNK2001: unresolved external symbol "public: void __thiscall wxStringData::Free(void)" (?Free(a)wxStringData@@QAEXXZ) 1>DicomInfo.obj : error LNK2001: unresolved external symbol "public: void __thiscall wxStringData::Free(void)" (?Free(a)wxStringData@@QAEXXZ) 1>.\Debug/MIView.exe : fatal error LNK1120: 1 unresolved externals 1>Creating browse information file... 1>Microsoft Browse Information Maintenance Utility Version 8.00.50727 1>Copyright (C) Microsoft Corporation. All rights reserved. 1>Build log was saved at "file://c:\projects\MIView\Debug\BuildLog.htm" 1>MIView - 89 error(s), 1 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
From: Kolya Kosenko on 9 Jan 2007 17:20 Gregory.A.Book(a)gmail.com wrote: > I've been using the 2.6.3 library for a while for my program and > decided to try the 2.8.0 library, both in VC++2005. I've been able to > compile and link my program against 2.6.3 with no problems so far. > > I was able to compile wxWidgets 2.8.0 and generate the .lib files. When > I build my program against 2.8.0, it compiles with no problem, but it > generates errors during the linking phase. > > The errors generated are below. Anyone have any idea whats happening? > > Thanks, > Greg See FAQ: "Visual C++ gives errors about multiply defined symbols, what can I do?" http://ftp.wxwidgets.org/wx/docs/html/faqmsw.htm#crtmismatch --------------------------------------------------------------------- To unsubscribe, e-mail: wx-users-unsubscribe(a)lists.wxwidgets.org For additional commands, e-mail: wx-users-help(a)lists.wxwidgets.org
From: Gregory.A.Book on 10 Jan 2007 09:37 I figured it out shortly after I posted the message. The answer does lie with the link below. Specifically, I needed to change the Runtime Library from "Multithreaded debug DLL /MDd" to "Multithreaded debug /MTd" and change "Multithreaded DLL /MD" to "Multithreaded /MT" when building wxWidgets. -Greg Kolya Kosenko wrote: > Gregory.A.Book(a)gmail.com wrote: > > I've been using the 2.6.3 library for a while for my program and > > decided to try the 2.8.0 library, both in VC++2005. I've been able to > > compile and link my program against 2.6.3 with no problems so far. > > > > I was able to compile wxWidgets 2.8.0 and generate the .lib files. When > > I build my program against 2.8.0, it compiles with no problem, but it > > generates errors during the linking phase. > > > > The errors generated are below. Anyone have any idea whats happening? > > > > Thanks, > > Greg > See FAQ: > > "Visual C++ gives errors about multiply defined symbols, what can I do?" > http://ftp.wxwidgets.org/wx/docs/html/faqmsw.htm#crtmismatch > > --------------------------------------------------------------------- > To unsubscribe, e-mail: wx-users-unsubscribe(a)lists.wxwidgets.org > For additional commands, e-mail: wx-users-help(a)lists.wxwidgets.org
|
Pages: 1 Prev: wxMac Font bug and "fix"; Next: wxArray and wxList compare function and iterator |