编译问题探索:LINK : fatal error LNK1104: cannot open file ‘PocoFoundationmt.lib’

一、引言

有一次在工作中遇到了这样一个问题:

LINK : fatal error LNK1104: cannot open file ‘PocoFoundationmt.lib’

这个问题很奇怪,甚至于 PocoFoundationmt.lib 是在哪里调用的我都不是很清楚。

二、问题解决

这个问题是我的另外一个同事解决的,参考如下社区讨论:
LINK : fatal error LNK1104: cannot open file ‘PocoFoundationmt.lib’

这里主要翻译下 kodikat 回答的一段话:

That error is due to the code generation change you made. Since you changed the project to Multi-thread, all the libraries that OF links to also need to be compiled as Multi-threaded(hence the “mt” postifx). The Poco libraries that come with OF were compiled as Multi-threaded DLL(and have an “md” postfix).

这个错误是你修改了代码生成策略引起的。因为你将代码生成方式修改成了MT,因此所有开放组件(OF)都应该以 MT 方式进行编译链接。之所以引起了这个问题是因为 Poco 库是以 MDd 方式编译的。

果不其然,同事在修改了下项目的:

项目属性 -> C/C++ -> 代码生成 -> 运行库

之后,这个问题就解决了。

这个问题尚有我不能理解的地方,比如这个库为什么会被调用到,以及为什么同样是从 SVN 上下载的代码,只有在同事的电脑上会遇到,而我的电脑上没有遇到…等等这些问题都还待我仔细思考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值