List Info

Thread: multiply defined symbols and undefined symbols w/VS.NET




multiply defined symbols and undefined symbols w/VS.NET
country flaguser name
United States
2007-08-05 09:13:21

Hi,

When I compile the .sln/.vcproj generated by DialogBlocks 4.14 and
Visual Studio .NET 2005 Team Suite Edition, I get a bunch of multiply
defined symbols and an undefined symbol (see below). When I construct
a wxWidgets project by hand, I don't have this problem. How can I
adjust the project generated by DialogBlocks to remove the issue?

1>------ Build started: Project: id-blocks, Configuration: Unicode Debug Win32 ------
1>Linking...
1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _free already defined in LIBCMTD.lib(dbgheap.obj)
1>;MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _malloc already defined in LIBCMTD.lib(dbgheap.obj)
1>;MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _wcslen already defined in LIBCMTD.lib(wcslen.obj)
1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _calloc already defined in LIBCMTD.lib(dbgheap.obj)
1>;MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _sprintf already defined in LIBCMTD.lib(sprintf.obj)
1>;MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _iswalnum already defined in LIBCMTD.lib(_wctype.obj)
1>;MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _memmove already defined in LIBCMTD.lib(memmove.obj)
1>;MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _tolower already defined in LIBCMTD.lib(tolower.obj)
1>;MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _isspace already defined in LIBCMTD.lib(_ctype.obj)
1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _strchr already defined in LIBCMTD.lib(strchr.obj)
1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _mbstowcs already defined in LIBCMTD.lib(mbstowcs.obj)
1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _iswalpha already defined in LIBCMTD.lib(_wctype.obj)
1>;MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _iswdigit already defined in LIBCMTD.lib(_wctype.obj)
1>;MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __swprintf already defined in LIBCMTD.lib(swprintf.obj)
1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _exit already defined in LIBCMTD.lib(crt0dat.obj)
1>;MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _realloc already defined in LIBCMTD.lib(dbgheap.obj)
1>;MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _iswspace already defined in LIBCMTD.lib(_wctype.obj)
1>;MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _wcstol already defined in LIBCMTD.lib(wcstol.obj)
1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _wcstoul already defined in LIBCMTD.lib(wcstol.obj)
1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __errno already defined in LIBCMTD.lib(dosmap.obj)
1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __vswprintf_p already defined in LIBCMTD.lib(vswprnc.obj)
1>;MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _isalnum already defined in LIBCMTD.lib(_ctype.obj)
1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _isalpha already defined in LIBCMTD.lib(_ctype.obj)
1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _isdigit already defined in LIBCMTD.lib(_ctype.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: _fputwc already defined in LIBCMTD.lib(fputwc.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: __close already defined in LIBCMTD.lib(close.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: _setlocale already defined in LIBCMTD.lib(setlocal.obj)
1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _fclose already defined in LIBCMTD.lib(fclose.obj)
1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __open_osfhandle already defined in LIBCMTD.lib(osfinfo.obj)
1>;MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __CrtSetDbgFlag already defined in LIBCMTD.lib(dbgheap.obj)
1>;MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _wcstombs already defined in LIBCMTD.lib(wcstombs.obj)
1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _getenv already defined in LIBCMTD.lib(getenv.obj)
1>MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_infoAAEABV0Z) 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_infoAAEAAV0ABV0Z) already defined in LIBCMTD.lib(typinfo.obj)
1>;LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
1>Application.obj : error LNK2019: unresolved external symbol "public: void __thiscall wxStringData::Free(void)" (?FreewxStringDataQAEXXZ) referenced in function "public: void __thiscall wxStringData::Unlock(void)" (?UnlockwxStringDataQAEXXZ)
1>ApplicationFrame.obj : error LNK2001: unresolved external symbol "public: void __thiscall wxStringData::Free(void)" (?FreewxStringDataQAEXXZ)
1>VCProjectUnicodeDebugid-blocks.exe : fatal error LNK1120: 1 unresolved externals
1>Build log was saved at "http://www.xmission.com/~legalize/book/download/index.html>;

Legalize Adulthood! <http://blogs.xmission.com/legalize/>

__._,_.___
.

__,_._,___
Re: multiply defined symbols and undefined symbols w/VS.NET
country flaguser name
United States
2007-08-06 13:55:00

Richard:

Try to change the run-time linking to static.

Ralph Pass

Richard wrote:
&gt;
> Hi,
>
> When I compile the .sln/.vcproj generated by DialogBlocks 4.14 and
> Visual Studio .NET 2005 Team Suite Edition, I get a bunch of multiply
> defined symbols and an undefined symbol (see below). When I construct
> a wxWidgets project by hand, I don't have this problem. How can I
> adjust the project generated by DialogBlocks to remove the issue?
&gt;
> 1>------ Build started: Project: id-blocks, Configuration: Unicode
> Debug Win32 ------
&gt; 1>Linking...
>; 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _free already defined in
> LIBCMTD.lib(dbgheap.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _malloc already defined
> in LIBCMTD.lib(dbgheap.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _wcslen already defined
> in LIBCMTD.lib(wcslen.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _calloc already defined
> in LIBCMTD.lib(dbgheap.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _sprintf already defined
> in LIBCMTD.lib(sprintf.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _iswalnum already defined
> in LIBCMTD.lib(_wctype.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _memmove already defined
> in LIBCMTD.lib(memmove.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _tolower already defined
> in LIBCMTD.lib(tolower.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _isspace already defined
> in LIBCMTD.lib(_ctype.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _strchr already defined
> in LIBCMTD.lib(strchr.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _mbstowcs already defined
> in LIBCMTD.lib(mbstowcs.obj)
&gt; 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _iswalpha already defined
> in LIBCMTD.lib(_wctype.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _iswdigit already defined
> in LIBCMTD.lib(_wctype.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __swprintf already
> defined in LIBCMTD.lib(swprintf.obj)
&gt; 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _exit already defined in
> LIBCMTD.lib(crt0dat.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _realloc already defined
> in LIBCMTD.lib(dbgheap.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _iswspace already defined
> in LIBCMTD.lib(_wctype.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _wcstol already defined
> in LIBCMTD.lib(wcstol.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _wcstoul already defined
> in LIBCMTD.lib(wcstol.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __errno already defined
> in LIBCMTD.lib(dosmap.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __vswprintf_p already
> defined in LIBCMTD.lib(vswprnc.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _isalnum already defined
> in LIBCMTD.lib(_ctype.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _isalpha already defined
> in LIBCMTD.lib(_ctype.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _isdigit already defined
> in LIBCMTD.lib(_ctype.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: _fputwc already defined
> in LIBCMTD.lib(fputwc.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: __close already defined
> in LIBCMTD.lib(close.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)
&gt; 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _setlocale already
> defined in LIBCMTD.lib(setlocal.obj)
&gt; 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _fclose already defined
> in LIBCMTD.lib(fclose.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __open_osfhandle already
> defined in LIBCMTD.lib(osfinfo.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __CrtSetDbgFlag already
> defined in LIBCMTD.lib(dbgheap.obj)
> 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _wcstombs already defined
> in LIBCMTD.lib(wcstombs.obj)
&gt; 1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _getenv already defined
> in LIBCMTD.lib(getenv.obj)
> 1>MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: __thiscall
> type_info::type_info(class type_info const &)&quot;
> (??0type_infoAAEABV0Z) 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 &)&quot;
> (??4type_infoAAEAAV0ABV0Z) already defined in
> LIBCMTD.lib(typinfo.obj)
> 1>LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of
> other libs; use /NODEFAULTLIB:library
> 1>Application.obj : error LNK2019: unresolved external symbol "public:
> void __thiscall wxStringData::Free(void)" (?FreewxStringDataQAEXXZ)
> referenced in function "public: void __thiscall
> wxStringData::Unlock(void)&quot; (?UnlockwxStringDataQAEXXZ)
> 1>ApplicationFrame.obj : error LNK2001: unresolved external symbol
> "public: void __thiscall wxStringData::Free(void)"
> (?FreewxStringDataQAEXXZ)
> 1>VCProjectUnicodeDebugid-blocks.exe : fatal error LNK1120: 1
> unresolved externals
> 1>Build log was saved at
> "http://www.xmission.com/~legalize/book/download/index.html
> <http://www.xmission.com/%7Elegalize/book/download/index.html&gt;>
&gt;
> Legalize Adulthood! <http://blogs.xmission.com/legalize/
> <http://blogs.xmission.com/legalize/>&gt;
>
>

__._,_.___
.

__,_._,___
[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )