链接器需要在lib文件的名称中包含编译器和Boost的版本.致命错误LNK1104

Linker requires versions of compiler and Boost in the names of lib-files. fatal error LNK1104

本文关键字:编译器 包含 Boost LNK1104 致命错误 版本 lib 链接 文件      更新时间:2023-10-16

安装boost我运行

b2 install optimization=speed variant=debug,release --layout=tagged --prefix=BOOST_DIR

lib文件的名字看起来像

...
libboost_serialization-mt.lib
libboost_serialization-mt-gd.lib
...

当项目链接时,我得到错误

链接:致命错误LNK1104:无法打开文件'libboostrongerialization-vc140-mt- gp -1_62.lib'

这个文件没有在任何名称的项目设置中设置,只有这个文件的目录被设置。如果我将编译器和Boost版本添加到文件名,该项目将成功链接。
当我安装新版本的Boost时,我可以使项目不需要Boost lib-files重命名吗?

使用--layout=tagged选项构建boost时,必须在包含任何boost头文件之前定义BOOST_AUTO_LINK_TAGGED,以允许自动链接正确工作。否则,通过定义BOOST_ALL_NO_LIB禁用自动链接,并显式指定库。

相关文章: