boost linux编译

发布于:2024-04-16 ⋅ 阅读:(172) ⋅ 点赞:(0)

提示:文章

文章目录

前言

前期疑问:
本文目标:


一 背景

二、编译

#2.1 下载boost源码

源码地址:https://github.com/boostorg/boost

2.2 在linux上手动编译

在这里插入图片描述

没有configure文件,执行bootstrap.sh文件

执行完bootstrap.sh文件还是没有configure文件

在这里插入图片描述

出现了一个b2文件

执行./b2,执行b2文件

执行完文件情况

在这里插入图片描述

还是没有.configure文件

又看了shell脚本

./b2 install --prefix=../boost_install/

将boost安装在…/boost_install/路径中,安装好后查看boost_install文件夹,…/boost_install/文件夹有include和lib两个文件夹。其中lib文件夹中是很多.a文件。

对此我可能是这么理解的。执行b2文件应该等于执行make。

2.2 脚本编译

将上述的编译过程写到shell脚本文件中,即得到如下脚本文件

#!/bin/bash

set -ex

PREFIX_INC_PATH=$(cd "$(dirname "$0")";pwd)
#tar xzvf boost_1_74_0.tar.gz

chmod -R 777 boost
cd boost
./bootstrap.sh --with-libraries=all --with-toolset=gcc
./b2  cxxflags=-fPIC cflags=-fPIC toolset=gcc link=static
./b2 install --prefix=../boost_install/
cd ..
rm -rf ${PREFIX_INC_PATH}/../include ${PREFIX_INC_PATH}/../lib
mkdir -p ${PREFIX_INC_PATH}/../lib/linux
cp -rf boost_install/include ../
cp -f boost_install/lib/libboost_date_time.a ../lib/linux/
cp -f boost_install/lib/libboost_filesystem.a ../lib/linux/
cp -f boost_install/lib/libboost_log.a ../lib/linux/
cp -f boost_install/lib/libboost_regex.a ../lib/linux/
cp -f boost_install/lib/libboost_serialization.a ../lib/linux/
cp -f boost_install/lib/libboost_system.a ../lib/linux/
cp -f boost_install/lib/libboost_thread.a ../lib/linux/
cp -f boost_install/lib/libboost_iostreams.a ../lib/linux/
rm -rf boost_install
rm -rf boost

以上就是boost编译过程。

三、

3.1


总结

未完待续


网站公告

今日签到

点亮在社区的每一天
去签到