对于长期提升用户来说,这可能是一个明智的选择,但我只是在努力提升。
我构建了完整的boost分配和BCP,只提取我需要放入VisualStudio C ++项目中的部分。
我发现当我调用bcp时,它会将源树复制到目标。它不会复制所需的已编译的lib文件(对于那些需要它的模块)。
所以当我构建我的项目并包含
时#include "boost/program_options.hpp"
例如,我收到链接器错误:
*错误1错误LNK1104:无法打开文件'libboost_program_options-vc100-mt-sgd-1_54.lib'*
所以我的问题是: BCP是否还应该根据需要复制已编译的LIB文件?
或
是BOOST用户自己手动复制那些编译过的库文件的标准程序吗?
答案 0 :(得分:1)
我最近开始尝试使用BCP。似乎任何需要库的boost模块都不会被复制,而是需要使用bjam构建它们。
例如,当您在代码上运行bcp时,它将输出一些“INFO”语句,如下所示:
INFO: tracking source dependencies of library date_time due to presence of BOOST_DATE_TIME_DECL...
INFO: tracking source dependencies of library smart_ptr due to presence of "void sp_scalar_constructor_hook...
请注意,除了生成的'boost'文件夹包含一堆复制的boost头文件外,还会有一个'libs'文件夹以及Jam文件(Jamroot,Jamfile.v2等)。
我想你需要使用Jamfiles cd到目录并使用bjam来构建所需的库。
也许这个答案会有所帮助: Building a subset of boost in windows