fatal error LNK1104: 无法打开文件“LIBC.lib”错误

 

 

方法一:

用VSDNET2005重新编译某个工程的发生了链接错误

现在把这个解决过程分享一下。

错误如下:fatal error LNK1104: 无法打开文件“LIBC.lib” 。

解决如下:项目->属性中->配置属性->链接器->输入->在忽略特定库中写入打不开的文

件的名称LIBC.lib;

 

 

方法二:

在stdafx.h 里加上这句吧   

#pragma comment (linker,"/NODEFAULTLIB:libc.lib")

 

方法三:

下一个libc.lib,或者把VC6.0中的包含进来

 

方法四:

错误提示:

 

  1. LINK : fatal error LNK1104: 无法打开文件“LIBC.lib”

 

查了一下资料:

LIBC.LIB Single-threaded, static link /ML

LIBCMT.LIB Multithreaded, static link /MT _MT

MSVCRT.LIB Multithreaded, dynamic link (import library for MSVCR71.DLL).

下面提供两种解决方案,请根据实际情况选择:

方法一:

 

  1. “项目属性” -> “配置属性” -> “C/C++” -> “代码生成”中的“运行时库”,设置成“/MT (static link )”

 

方法二:

 

  1. “项目属性” -> “配置属性” -> “链接器” -> “输入”中的“所有默认库”,设置成“/NODEFAULTLIB (static link )”

 

---------------------------------------------------------------------

方法五:

五一来了,公司放假了,生活的乏味,我竟然选择了五一去公司加班, 看着满大街的人流 真的是觉得自己已经老了,

闲话少说了,前两天sb 导论老师实在怕我闲着让我总结一下开源库egg的在vc下的使用方法,昨天没事自己试了一下,在vc6下十分简单 因为是静态库只要简单的包含头文件 并且在vc++目录中添加搜索路径 即可 (当然要有lib和.h文件)

但在2005下问题就有了 因为原来egg库是vc早期版本生成的库 在链接过程中 由于是控制台程序所以默认是调用单线程的静态库 LIBCD.lib(debug版本)和LIBC.lib(release) 故会出现打不开LIBCD.lib的错误 显示:fatal error LNK1104: 无法打开文件“LIBC.lib”

用原先的方法将vc6的库函数和头文件覆盖2005后会显示LIBCD和现有文件冲突,未找到外部解析文件等,可见导入库行不通.

这时的解决方法很简单 只要在项目属性中的链接器栏中在忽略特定库中写入打不开的文件的名称 入本例中的LIBCD.lib 在完全编译就好了;

这时我们就要看看 很烦人的所谓的单线程静态库,多线程库了, 这些库文件是微软的运行时刻库作用是在生成完obj文件后链接过程中初始化全局变量,导入项目入口函数,获取系统信息等等,原先的vc'老版本 还有就是多线程程序的支持,老版本的win32函数有creatthread,新的使用LIbCMT.lib的有beginthreat,

这些运行时库对应有

LIBCD.lib LIBC.lib 静态单线程库(后面加d表示DEBUG版) /ML

LIBCMT.lib LIBCMTD.lib 对应的是静态多线程库/MT

MSVCRT.lib 动态链接库 /MD

最后一个是编译选项;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: fatal error lnk1104: 无法打开文件"libc.lib" 是指在编译或链接时,编译器或连接器无法找到"libc.lib" 这个文件。 这个错误通常是由于以下几个原因引起的: 1. 文件不存在:编译器或连接器无法找到指定的"libc.lib" 文件。这可能是因为文件被误删除或移动到其他位置,或者您没有安装相应的库文件。 解决方法:确保"libc.lib" 文件存在于正确的位置,或者重新安装相应的库文件。 2. 路径错误:编译器或连接器无法找到"libc.lib" 文件的路径。编译器或连接器会按照默认路径进行查找,如果文件不在默认路径中,就会出现这个错误。 解决方法:检查文件的路径是否设置正确,并确保编译器或连接器能够找到该文件。可以使用编译器或连接器的选项设置路径。 3. 权限问题:编译器或连接器没有足够的权限读取或写入"libc.lib" 文件。 解决方法:以管理员身份运行编译器或连接器,或修改文件的权限,使其可被编译器或连接器访问。 总之,如果遇到"fatal error lnk1104: 无法打开文件"libc.lib"" 的错误提示,需要首先检查该文件是否存在、路径是否正确并且是否具有足够的权限。如果仍然无法解决问题,可以尝试重新安装相应的库文件或寻求专业人士的帮助。 ### 回答2: fatal error lnk1104: 无法打开文件libc.lib” 是一个常见的错误信息,它意味着在链接过程中无法找到所需的 "libc.lib" 库文件。 这个错误通常是由于以下几个原因引起的: 1. 文件路径错误:编译器在链接过程中需要找到 "libc.lib" 文件,但是由于文件路径设置有误,编译器无法定位到文件。解决方法是检查文件路径设置是否正确,并确保文件存在于指定路径下。 2. 缺少库文件:在某些情况下,你可能没有安装所需的 "libc.lib" 库文件。解决方法是根据你正在使用的编译器和开发工具集,安装相应的库文件。 3. 冲突的库文件:如果你的项目同时引用了多个库文件,并且其中一个库文件与 "libc.lib" 冲突,就可能出现该错误。解决方法是检查项目的库文件依赖关系,并确保没有冲突。 4. 编译器设置错误:在某些情况下,编译器设置可能会导致链接错误。解决方法是检查编译器设置,确保正确配置。 总结来说,解决 "fatal error lnk1104: 无法打开文件libc.lib”" 的方法通常是检查文件路径设置、安装所需的库文件、处理冲突的库文件以及检查编译器设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值