For Programmers: Free Programming Magazines  


Home > Archive > Visual Studio > August 2005 > Link error - library order









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Link error - library order
Cal

2004-07-21, 8:58 pm

I am in the process of moving some source code from an old version of MSVC (1) to a newer system (ultimately to .NET, but moving to MSVC 6 initially).

In one project, I am running into link errors that seem to be related to the order the libraries are searched (MFC before CRT). I have not seemed to have found the correct order for things and most alternatives I have tried generate more errors than what
I have pasted below.

Does anyone have any suggestions for me to try?

Thanks,
Cal.

LINKER OPTIONS:
fc_plus.lib oldnames.lib /nologo /stack:0x2800 /subsystem:windows /incremental:yes /pdb:"Release/Config.pdb" /machine:IX86 /def:".\Config.def" /out:"Release/Config.exe" /verbose:lib

LINKER OUTPUT:

Linking...
Searching Libraries
Searching V:\LOCAL\LIB\fc_plus.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\oldnames.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB\nafxcw.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\libcmt.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\kernel32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\user32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\gdi32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\comdlg32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\winspool.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\advapi32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\shell32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\comctl32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\uuid.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB\mfc42d.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB\mfcs42d.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\msvcrtd.lib:
msvcrtd.lib(MSVCRTD.dll) : error LNK2005: _toupper already defined in libcmt.lib(toupper.obj)
msvcrtd.lib(MSVCRTD.dll) : error LNK2005: __ultoa already defined in libcmt.lib(xtoa.obj)
msvcrtd.lib(MSVCRTD.dll) : error LNK2005: __setmbcp already defined in libcmt.lib(mbctype.obj)
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\olepro32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\ole32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\oleaut32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\wininet.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\libcpmt.lib:
Searching V:\LOCAL\LIB\fc_plus.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\oldnames.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB\nafxcw.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\libcmt.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\kernel32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\user32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\gdi32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\comdlg32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\winspool.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\advapi32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\shell32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\comctl32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\uuid.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB\mfc42d.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB\mfcs42d.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\msvcrtd.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\olepro32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\ole32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\oleaut32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\wininet.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\libcpmt.lib:
Searching V:\LOCAL\LIB\fc_plus.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\oldnames.lib:
Done Searching Libraries
msvcrtd.lib(MSVCRTD.dll) : warning LNK4006: _toupper already defined in libcmt.lib(toupper.obj); second definition ignored
msvcrtd.lib(MSVCRTD.dll) : warning LNK4006: __ultoa already defined in libcmt.lib(xtoa.obj); second definition ignored
msvcrtd.lib(MSVCRTD.dll) : warning LNK4006: __setmbcp already defined in libcmt.lib(mbctype.obj); second definition ignored
Creating library Release/Config.lib and object Release/Config.exp
Searching Libraries
Searching V:\LOCAL\LIB\fc_plus.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\oldnames.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB\nafxcw.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\libcmt.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\kernel32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\user32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\gdi32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\comdlg32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\winspool.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\advapi32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\shell32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\comctl32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\uuid.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB\mfc42d.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB\mfcs42d.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\msvcrtd.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\olepro32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\ole32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\oleaut32.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\wininet.lib:
Searching C:\Program Files\Microsoft Visual Studio\VC98\LIB\libcpmt.lib:
Done Searching Libraries
LINK : warning LNK4098: defaultlib "mfc42d.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
LINK : warning LNK4098: defaultlib "mfcs42d.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
LINK : warning LNK4098: defaultlib "msvcrtd.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
Release/Config.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.

Config.exe - 4 error(s), 6 warning(s)

razvan_sirbu

2005-08-12, 2:28 pm

Hi,

I've got the same link issue. Did you find out how to get read of the nasty linker conflict?

Thanks in anvance,
Razvan

razvan_sirbu@dynalog-us.com
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com