这篇文章的内容主要围绕Linux系统怎么编译Boost库进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!
Boost库是为C++语言标准库提供的一些扩展功能,包括算法库、模板元编程、数据结构库、图像处理库、迭代器库,输入输出库等,可大大提高软件的开发效率,具有免费、同行审查的、可移植的特点
测试平台
Linux版本:Ubuntu 18.04 LTS
Boost版本:1.69.0
1、安装依赖库文件
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo apt-get install libbz2-dev
[sudo] linuxidc 的密码:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会同时安装下列软件:
bzip2-doc
下列【新】软件包将被安装:
bzip2-doc libbz2-dev
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 218 个软件包未被升级。
需要下载 324 kB 的归档。
解压缩后会消耗 513 kB 的额外空间。
您希望继续执行吗? [Y/n] Y
#安装mpi库
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo apt-get install libicu-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会同时安装下列软件:
gir1.2-harfbuzz-0.0 icu-devtools libglib2.0-dev libglib2.0-dev-bin
libgraphite2-dev libharfbuzz-dev libharfbuzz-gobject0 libicu-le-hb-dev
libicu-le-hb0 libiculx60 libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5
建议安装:
libglib2.0-doc libgraphite2-utils icu-doc
下列【新】软件包将被安装:
gir1.2-harfbuzz-0.0 icu-devtools libglib2.0-dev libglib2.0-dev-bin
libgraphite2-dev libharfbuzz-dev libharfbuzz-gobject0 libicu-dev
libicu-le-hb-dev libicu-le-hb0 libiculx60 libpcre16-3 libpcre3-dev
libpcre32-3 libpcrecpp0v5
升级了 0 个软件包,新安装了 15 个软件包,要卸载 0 个软件包,有 218 个软件包未被升级。
需要下载 11.8 MB 的归档。
解压缩后会消耗 57.4 MB 的额外空间。
您希望继续执行吗? [Y/n] Y
#支持正则表达式的UNICODE字符集
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo apt-get install Python-dev
#需要python的话
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo apt-get install libbz2-dev
2、下载安装包
https://sourceforge.net/projects/boost/files/boost/1.69.0/
此处我下载的是 boost1.69,0 解压缩到一个目录
3、cd 到该目录
里面有个bootstrap.sh的
文件,运行这个 运行脚本: linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -/boost_1_69_0$ ./bootstrap.sh
Building Boost.Build engine with toolset gcc... tools/build/src/engine/bin.linuxx86_64/b2
Detecting Python version... 2.7
Detecting Python root... /usr
Unicode/ICU support for Boost.Regex?... /usr
Generating Boost.Build configuration in project-config.jam...
Bootstrapping is done. To build, run:
./b2
To adjust configuration, edit 'project-config.jam'.
Further information:
- Command line help:
./b2 --help
- Getting started guide:
根据上图提示,进行编译操作。
4、开始编译 boost
编译要一点时间,出去跳跳绳吧,打打拳击吧,输入 :
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -/boost_1_69_0$ ./b2
Performing configuration checks
- default address-model : 64-bit
- default architecture : x86
Building the Boost C++ Libraries.
- C++11 mutex : yes
- lockfree boost::atomic_flag : yes
- Boost.Config Feature Check: cxx11_auto_declarations : yes
- Boost.Config Feature Check: cxx11_constexpr : yes
- Boost.Config Feature Check: cxx11_defaulted_functions : yes
- Boost.Config Feature Check: cxx11_final : yes
- Boost.Config Feature Check: cxx11_hdr_mutex : yes
- Boost.Config Feature Check: cxx11_hdr_tuple : yes
- Boost.Config Feature Check: cxx11_lambdas : yes
编译成功后的截图如下:
5、开始安装
将boost库相关文件安装至/usr/local。输入 :
sudo ./b2 --prefix=/usr/local/boost install
安装好之后截图:
将boost库添加至环境变量。输入命令:
gedit /etc/environment
向文件中增加如下路径:
CPLUS_INCLUDE_PATH=/usr/local/boost/include
LIBRARY_PATH=/usr/local/boost/lib
添加完成后,进行保存操作。
6、测试案例
(1)代码编写。输入命令:
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -/boost_1_69_0$ gedit linuxidc.com.Boost.cpp
打开编辑器,输入以下代码并保存:
#include #include using namespace std;
int main()
{
boost::gregorian::date d(boost::gregorian::day_clock::local_day());
cout
(2)代码编译。
输入命令: linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -/boost_1_69_0$ g++ -I /usr/local/boost/include -L /usr/local/boost/lib linuxidc.com.Boost.cpp -o linuxidc.com
(3)执行程序。
输入命令: linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -/boost_1_69_0$ ./linuxidc.com
感谢你的阅读,相信你对“Linux系统怎么编译Boost库”这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注亿速云网站!小编会继续为大家带来更好的文章!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。