请教,关于 libc.lib 与 msvcrtd.lib冲突的解决。

haogong 2003-09-22 11:32:46


是这样的,听我慢慢道来:

环境:VC6,2000 server

我编译时,提示 libc.lib 与 msvcrtd.lib 有几个函数冲突,

但libc.lib 里有需要的函数 如_errno 在msvcrt里没有定义,

msvcrt里也有需要的很多的函数在 libc.lib 里没有定议。

所以,现在,无论我忽略掉哪个库,都编译不过(两个都忽略更不用说了:) ),

都会提示函数没有实现(LNK2001: unresolved external symbol _errno)

如何解决这个问题?谢谢各位
...全文
599 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
haogong 2003-09-22
  • 打赏
  • 举报
回复
OK, 我忽略掉 msvcrtd.lib 时错误如下:

PikiDlg.cpp
Generating Code...
Linking...
LINK : warning LNK4049: locally defined symbol "_strncpy" imported
LINK : warning LNK4049: locally defined symbol "_fclose" imported
LINK : warning LNK4049: locally defined symbol "_fwrite" imported
LINK : warning LNK4049: locally defined symbol "_fopen" imported
LINK : warning LNK4049: locally defined symbol "__setmbcp" imported
PikiDlg.obj : error LNK2001: unresolved external symbol __imp___mkdir
PikiDlg.obj : error LNK2001: unresolved external symbol __imp__sscanf
PikiDlg.obj : error LNK2001: unresolved external symbol __imp__atoi
Debug/Piki.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.

Piki.exe - 4 error(s), 5 warning(s)

当我忽略掉 libc.lib 时错误如下:
--------------------Configuration: Piki - Win32 Debug--------------------
Linking...
zlibstat.lib(gzio.obj) : error LNK2001: unresolved external symbol _errno
Debug/Piki.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

Piki.exe - 2 error(s), 0 warning(s)
jian 2003-09-22
  • 打赏
  • 举报
回复
把output窗口中的错误信息都贴出来,这是最好的线索
haogong 2003-09-22
  • 打赏
  • 举报
回复
呵呵,这个,代码太长,不好贴,
而且也不是代码的原因,估计是我用的几个静态库的原因,原因是什么还没找到,:(
wuxfBrave 2003-09-22
  • 打赏
  • 举报
回复
没碰到过,给个代码,大家研究一下
haogong 2003-09-22
  • 打赏
  • 举报
回复
试了,不行,没找到,我看了那篇文章,是97年的,那时的VC与现在的不一样吧,
他说的那些东西在VC里找不到
haogong 2003-09-22
  • 打赏
  • 举报
回复
看到了,谢谢两位,先吃饭 ,吃饭再试
mct1025 2003-09-22
  • 打赏
  • 举报
回复
看看这个,可能是解决办法

http://www.steptools.com/support/kb/articles/0004.htm
shinka 2003-09-22
  • 打赏
  • 举报
回复

试一试在Link选项中加入以下命令。
/nodefaultlib:"MSVCRT"
mct1025 2003-09-22
  • 打赏
  • 举报
回复
zlibstat.lib 用在Win32 Application,not using mfc没有链接错误
只要使用mfc,就有链接错误

有可能是不用mfc的程序,才使用这个库
haogong 2003-09-22
  • 打赏
  • 举报
回复
不错,/FORCE:MULTIPLE选项是可以,
不过,一大堆的warning,有点怕怕
gww918 2003-09-22
  • 打赏
  • 举报
回复
我弄了一下,我加了一个LINK参数/FORCE:MULTIPLE就可以了。
我只调用了gzopen和atoi有一大堆警告但可以运行啊。
akun 2003-09-22
  • 打赏
  • 举报
回复
可能这个zlibstat.lib不是vc的编译器编译的,所以c运行库也不一样...
你把zlib的原码用vc重新编译一下看看~~~~~~~
haogong 2003-09-22
  • 打赏
  • 举报
回复
不知是不是我用得不对,有兴趣的可以下载下来看看,是用来将文件压缩成gz格式的

http://www.winimage.com/zLibDll/zlib114dll.zip

用里面的 static32/zlibstat.lib 这个静态库,(DLL版的已经测过,没问题)

再在你的程序里同时使用 zlibstat.lib提供的函数如 gzopen,gzread,
和 VC 的函数 _mkdir sscanf atoi 这些,
看有没有问题,要能的话将结果告之,谢谢
haogong 2003-09-22
  • 打赏
  • 举报
回复
楞,德哥来了。

谢谢几位的热心帮忙,问题虽未解决,但有点意思了,
估计是 zlib 库在搞鬼,谢谢。
gww918 2003-09-22
  • 打赏
  • 举报
回复
libc.lib 与 msvcrtd.liB 一个是编译版本,一个是调试版本,不会 吧!

/ML /MT /MD /MLd /MTd /MDd

这几个参数一个一个试吧,
dege 2003-09-22
  • 打赏
  • 举报
回复
顶了你一下 得给点分吧 要么请客
dege 2003-09-22
  • 打赏
  • 举报
回复
哈哈 浩公 我是德哥 你的问题我不知道 我来顶一下
mct1025 2003-09-22
  • 打赏
  • 举报
回复
unresolved external symbol _errno
可能的解决方法
http://www.steptools.com/support/kb/articles/0007.htm

这个问题第一次遇到,能找到的也就这么多了
我能力有限
haogong 2003-09-22
  • 打赏
  • 举报
回复
那个我后来看到了,
问题是我现在不论DISALBE 哪个都有错,错误如上贴出。

注: zlibstat.lib 是 zlib 提供的gz压缩库,应该不会有问题吧。
jian 2003-09-22
  • 打赏
  • 举报
回复
使用/ML选项了?把它改为/MD试试看
加载更多回复(2)

16,472

社区成员

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

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

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