链接的问题

tlovexyj 2003-06-17 03:36:08
在使用stlport(需要多线程支持),然后就会看到
编译器报以下的警告:
LINK : warning LNK4098: defaultlib "LIBCMTD" conflicts with use of other libs; use /NODEFAULTLIB:library

另外,在此情况下,使用zlib,就会报如_exit、_free等已经在xxx.obj中定义了,然后链接错误:~~~(

请各位大侠帮帮忙,讲解一下!!!如果避免或解决。
...全文
83 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenweihello 2003-06-18
  • 打赏
  • 举报
回复
在project settings的link页ignore library中加入
libc.lib, msvcrt.lib
AlvaChin 2003-06-18
  • 打赏
  • 举报
回复
肯定是你设定的链接库不对,例如是几个Project,有的设定未Not use MFC,有的是Using MFC in Share DLL或者是Static Dll等。只有这样才可能导致这个问题。

nonocast 2003-06-18
  • 打赏
  • 举报
回复
不懂
Good Luck!
unrise 2003-06-18
  • 打赏
  • 举报
回复
不熟悉,帮你UP
ruihuahan 2003-06-18
  • 打赏
  • 举报
回复
在project settings的link页ignore library中应该有
libc.lib, libcmt.lib, msvcrt.lib, libcd.lib, msvcrtd.lib
zyleon 2003-06-18
  • 打赏
  • 举报
回复
gz
tlovexyj 2003-06-18
  • 打赏
  • 举报
回复
我说漏了一点
有时MFC和其他库如stlport一起用,因为都用了多线程,就会报以下的错误:

Linking...
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(crt0init.obj) : error LNK2005: ___xc_z already defined in msvcrtd.lib(cinitexe.obj)
libc.lib(crt0init.obj) : error LNK2005: ___xc_a already defined in msvcrtd.lib(cinitexe.obj)
libc.lib(crt0init.obj) : error LNK2005: ___xi_z already defined in msvcrtd.lib(cinitexe.obj)
libc.lib(crt0init.obj) : error LNK2005: ___xi_a already defined in msvcrtd.lib(cinitexe.obj)
msvcrtd.lib(MSVCRTD.dll) : error LNK2005: __setmbcp already defined in libc.lib(mbctype.obj)
LINK : warning LNK4098: defaultlib "msvcrtd.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
LINK : warning LNK4098: defaultlib "LIBCMTD" 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
libc.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
p:\setup.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

setup.exe - 9 error(s), 3 warning(s)


这个时候怎么办?
tlovexyj 2003-06-18
  • 打赏
  • 举报
回复
抱歉,我太不仔细了,在project settings的link页ignore library中加入libc.lib, msvcrt.lib后,编译器又报如下的警告:

LINK : warning LNK4075: ignoring /EDITANDCONTINUE due to /INCREMENTAL:NO specification
LINK : warning LNK4049: locally defined symbol "_fclose" imported
LINK : warning LNK4049: locally defined symbol "_fread" imported
LINK : warning LNK4049: locally defined symbol "_fopen" imported
LINK : warning LNK4049: locally defined symbol "_strncpy" imported
LINK : warning LNK4049: locally defined symbol "__setmbcp" imported

:..........(
tlovexyj 2003-06-18
  • 打赏
  • 举报
回复
谢谢大家^_^
曾经的猎狐 2003-06-17
  • 打赏
  • 举报
回复
LINK : warning LNK4098: defaultlib "LIBCMTD" conflicts with use of other libs; use /NODEFAULTLIB:library
默认的连接库和其他已经使用的连接库有冲突
你换掉看看,
在说,是警告,也不是错误
tyjoe 2003-06-17
  • 打赏
  • 举报
回复
不大了解,帮你UP

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧