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版本,所以两个都编译
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2021-07-05 Leetcode每日一题-2021-7-5<原子的数量>(字符串表达式计算题)