我在使用特别修改版本的boost库构建Windows C ++项目时遇到了问题。我没有使用bjam,而是使用cmake来管理构建一个小型的boost库子集。一切似乎编译得很好,但后来我得到了cmake或任何源文件中从未提及的实体的链接错误:
2>LINK : fatal error LNK1104: cannot open file 'libboost_thread-vc100-mt-gd-1_54.lib'
我使用'findstr'在我的构建文件夹中搜索了这个字符串,并在此上下文中找到了thread.obj中提到的字符串:
/DEFAULTLIB:liboobst_thread-vc100-mt-gd-1_54.lib
我的问题是:这个/ DEFAULTLIB标签来自何处以及如何防止它?我打开了显式编译和链接标志(“抑制启动标志”=否),在构建过程中没有提到它。
编辑: 根据评论者的说法,这是boost中自动链接功能的一部分,可以使用BOOST_ALL_NO_LIB定义禁用它。描述here。