0427 LNK2001 pctype mb_cur_max
Linking…
libc.lib(pow.obj) : error LNK2005: _pow already defined in msvcrtd.lib(MSVCRTD.dll)
libc.lib(crt0dat.obj) : error LNK2005: _exit already defined in msvcrtd.lib(MSVCRTD.dll)
libc.lib(crt0dat.obj) : error LNK2005: __exit already defined in msvcrtd.lib(MSVCRTD.dll)
libc.lib(fpinit.obj) : error LNK2005: __ldused already defined in a previous module
libc.lib(crt0init.obj) : error LNK2005: ___xc_z already defined in msvcrtd.lib(cinitexe.obj)
libc.lib(crt0init.obj) : error LNK2005: ___xi_z already defined in msvcrtd.lib(cinitexe.obj)
libc.lib(strcat.obj) : error LNK2005: _strcpy already defined in msvcrtd.lib(MSVCRTD.dll)
libcmt.lib(threadex.obj) : error LNK2005: __beginthreadex already defined in msvcrtd.lib(MSVCRTD.dll)
libcmt.lib(winxfltr.obj) : error LNK2005: __XcptFilter already defined in msvcrtd.lib(MSVCRTD.dll)
msvcrtd.lib(MSVCRTD.dll) : error LNK2005: __stricmp already defined in libc.lib(stricmp.obj)
msvcrtd.lib(MSVCRTD.dll) : error LNK2005: __setmbcp already defined in libc.lib(mbctype.obj)
libc.lib(pow.obj) : warning LNK4006: _pow already defined in msvcrtd.lib(MSVCRTD.dll); second definition ignored
libc.lib(crt0dat.obj) : warning LNK4006: _exit already defined in msvcrtd.lib(MSVCRTD.dll); second definition ignored
libc.lib(crt0dat.obj) : warning LNK4006: __exit already defined in msvcrtd.lib(MSVCRTD.dll); second definition ignored
libc.lib(fpinit.obj) : warning LNK4006: __ldused already defined in a previous module; second definition ignored
libc.lib(fpinit.obj) : warning LNK4006: __fltused already defined in a previous module; second definition ignored
libc.lib(strcat.obj) : warning LNK4006: _strcpy already defined in msvcrtd.lib(MSVCRTD.dll); second definition ignored
libcmt.lib(threadex.obj) : warning LNK4006: __beginthreadex already defined in msvcrtd.lib(MSVCRTD.dll); second definition ignored
libcmt.lib(winxfltr.obj) : warning LNK4006: __XcptFilter already defined in msvcrtd.lib(MSVCRTD.dll); second definition ignored
msvcrtd.lib(MSVCRTD.dll) : warning LNK4006: __stricmp already defined in libc.lib(stricmp.obj); second definition ignored
msvcrtd.lib(MSVCRTD.dll) : warning LNK4006: __setmbcp already defined in libc.lib(mbctype.obj); second definition ignored
Creating library Debug/EasyTalk.lib and object Debug/EasyTalk.exp
LINK : warning LNK4098: defaultlib "msvcrtd.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
msvcrtd.lib(cinitexe.obj) : warning LNK4098: defaultlib "libc.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
msvcrtd.lib(cinitexe.obj) : warning LNK4098: defaultlib "libcd.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
msvcrtd.lib(cinitexe.obj) : warning LNK4098: defaultlib "libcmt.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
Debug/EasyTalk.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.
加上 /nodefaultlib:"libc.lib" /nodefaultlib:"libcd.lib" /nodefaultlib:"libcmt.lib"
结果
: error LNK2001: unresolved external symbol __pctype
error LNK2001: unresolved external symbol ___mb_cur_max
: fatal error LNK1120: 2 unresolved externals
Visual C++ linker complaints about undefined symbols
Description of the problem
When linking a project, Visual C++ linker shows the following messages:
Linking…
rose.lib(IORose.obj) : error LNK2001: unresolved external symbol __pctype
rose.lib(IORose.obj) : error LNK2001: unresolved external symbol ___mb_cur_max
rose.lib(RoseServer.obj) : error LNK2001: unresolved external symbol _errno
p21.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.
Explanation
The problem is due to the different definitions of these symbols in ROSE and MFC libraries.
Solution
To fix this problem add a new blank C++ source file to your project, and insert the following code into it:
extern "C"
&leftsign;
int __mb_cur_max;
unsigned short* _pctype;
int errno;
&rightsign;
Do not add anything else to this file.
我发现好像是因为LIB用的是单线程,而程序用的是多线程,设置为一致就可以让
历史博文
- Firefox 3.5.2 - 2009
- 20071220 sql2005 游标 cursor rand - 2008
- 20070509 c# udp - 2007
- 临时笔记 - 2005
- WINCE VS.NET 开发 ActiveSync 模拟器 1 - 2005
- google toolbar 肝脏 位置 长城 GREATWALL - 2005