error LNK1181: 无法打开输入文件“.\Release\\.obj”

本文介绍了解决7-Zip源码在VS2010及VS2012中编译失败的问题,主要原因是VC6工程升级后的兼容性问题。通过调整编译设置并手动管理某些对象文件,最终实现了成功编译。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BUG出现原因:
编译7z源码7z1604-src\CPP\7zip\Bundles\Format7zF 时候遇到的,经过搜索发现是vc6工程升级导致的bug,用vs2010,vs2012编译都不能通过。

解决办法:
http://www.cnblogs.com/lniwn/p/7z-VSbuild.html
http://stackoverflow.com/questions/12387701/error-lnk1104-obj-file-without-any-file-name
http://stackoverflow.com/questions/4000772/visual-studio-2010-link-fatal-error-lnk1181-cannot-open-input-file-obj

参考了各种文档也没解决问题,最后还是自己解决了:
1.这里写图片描述
先按照这个图设置,如果解决了,那就万幸了,如果没解决请往下看:

2.查看release目录下有没有7zCrcOpt.obj,AesOpt.obj,如果已经生成,就删除 上图中的那两行:

ml.exe -c -Fo$(OutDir)%(Filename).obj %(FullPath)

$(OutDir)\$(Filename).obj;%(Outputs)

然后工程上右键–>添加–>现有项,把这两个obj添加进来,然后再编译。
这里写图片描述
就成功了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值