一二三四五 上山打老虎

Boost编译及配置

仅供个人学习,侵删

Boost1.70.0 本地编译 通过vs2017使用msvc-14.16

1.首先使用vs2017开发人员命令提示符执行boost文件下的bootstrap.bat批处理程序生成b2,再使用b2编译工具对boost进行编译。我是用如下命令行进行编译:

b2 install --toolset=msvc-14.16 --without-python link=static runtime-link=shared runtime-link=static threading=multi debug release

2.编译完成后,结果会在boost同目录下Boost文件中,有两个子文件夹include和lib如下图所示:

3.Qt中设置

4.测试

命令参数解释
①、stage/install
stage表示只生成库,包括dll和lib,install还会生成包含头文件的include目录。按照自己的习惯选择两者之一就可以,stage编译比较节省时间,不会拷贝头文件;install会将头文件等拷贝到制定目录下,一般会耗时比较多。

②、toolset
指定编译器,可选的如borland、gcc、msvc(VC6)、msvc-9.0(VS2008)、msvc-12.0(VS2013)、msvc-14.0(VS2015)等。

③、without/with
选择不编译/编译哪些库。比如python、mpi等库都用不着,可以不编译。还有wave、graph、math、regex、test、program_options、serialization、signals这几个库编出的静态lib都非常大,所以不需要的也可以without掉。这可以根据各人需要进行选择,默认是全部编译。但是需要注意,如果选择编译python的话,是需要python语言支持的,应该到python官方主页下载安装。
查看Boost包含库的命令:bjam --show-libraries

④、stagedir/prefix
stage时使用stagedir,install时使用prefix ,表示编译生成文件的路径。如果使用了install参数,那么还将生成头文件目录。

⑤、build-dir
编译生成的中间文件的路径。这里没用到,默认就在根目录下,等编译完成后可将这个目录全部删除,所以不需要去设置。

⑥、link
生成动态链接库/静态链接库。生成动态链接库需使用 shared 方式,生成静态链接库需使用 static 方式。一般Boost库可能都是以static方式编译。

⑦、runtime-link
动态/静态 链接C/C++运行时库 。同样有shared和static两种方式,这样runtime-link和link一共可以产生4种组合方式,可以根据自己的需要选择编译。

⑧、threading
单/多线程编译。一般都写多线程程序,当然要指定multi方式了;如果需要编写单线程程序,那么还需要编译单线程库,可以使用single方式。

⑨、debug/release
编译debug/release版本。一般都是程序的debug版本对应库的debug版本,所以两个都编译
posted @ 2022-07-05 09:37  abestxun  阅读(296)  评论(0编辑  收藏  举报