【发布时间】:2018-06-12 11:54:24
【问题描述】:
我们在项目中使用 boost 1.42,但由于公司政策,我们必须迁移到使用 boost 1.61。我在我们的 make 文件中将 boost 1.42 中的引用替换为 boost 1.61,并进行了编译。我遇到了许多与 boost 相关的错误,因为从 boost 1.42 到 boost 1.61 已弃用了许多 boost 方法名称,并且我修复了这些编译错误。但是,在修复这些之后,现在编译正在使用 boost 1.61 进行,但我遇到了以下链接错误—— LINK:致命错误 LNK1104:无法打开文件“libboost_signals-vc140-mt-gd-1_61.lib”
在比较 boost(1.42 和 1.61)的 lib 文件时,我发现 libboost_signals-vcxx-zzzz.lib 仅存在于 boost 1.42 版本中,而不存在于 boost 1.61 中。那么为什么链接器试图链接到 libboost_signals-vcxx-zzz.lib。有什么办法可以调试它以了解哪段代码导致了这个链接错误?
【问题讨论】:
-
也许这不是“未解析的符号”链接器错误,但您的 makefile 告诉链接器链接这个不再存在的库?
-
谢谢,好点,我会检查我的 make 文件。
标签: c++ boost visual-studio-2015 compiler-errors linker