牌具网站广告怎么做,莱州网站建设制作,提供营销型网站,网站建设行业淘宝装修模板1. 下载
当前版本是1.82#xff0c;下载链接#xff1a; https://boostorg.jfrog.io/artifactory/main/release/1.82.0/source/
2. 安装编译依赖库
本地环境是Ubuntu 22.04#xff0c;需要安装以下依赖库#xff0c;部分影响boost相关功能的开启#xff0c;部分影响编译…1. 下载
当前版本是1.82下载链接 https://boostorg.jfrog.io/artifactory/main/release/1.82.0/source/
2. 安装编译依赖库
本地环境是Ubuntu 22.04需要安装以下依赖库部分影响boost相关功能的开启部分影响编译过程。 本地环境编译AOSP源码安装过相关依赖库除了这里列出的可能还需要其他依赖库可根据提示安装。 sudo apt install icu-devtools libicu-dev libbz2-dev liblzma-dev libzstd-dev python3-dev python2-dev -y
2.1 解压
解压后源码文件夹
boost_1_82_0$ ls
boost boost.css bootstrap.sh index.html libs README.md tools
boost-build.jam boost.png doc INSTALL LICENSE_1_0.txt rst.css
boostcpp.jam bootstrap.bat index.htm Jamroot more status2.2 执行bootstrap.sh脚本生成b2编译工具
1执行bootstrap.sh后源码目录下增加b2和project-config.jam两个文件。 2b2工具是用来编译和安装boost库。 1查看帮助b2 --help 2编译b2 3cleanb2 --clean 4安装b2 install 5重新配置编译脚本b2 --reconfigure 如果编译失败或者过程中发现缺少一些依赖库及boost相关模块安装依赖库后需要执行这个命令重新检测依赖并生成编译脚本。
$ ./bootstrap.sh
Building B2 engine..###
###
### Using gcc toolset.
###
###g (Ubuntu 12.1.0-2ubuntu1~22.04) 12.1.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.###
### g -x c -stdc11 -O2 -s -DNDEBUG builtins.cpp class.cpp command.cpp compile.cpp constants.cpp cwd.cpp debug.cpp debugger.cpp execcmd.cpp execnt.cpp execunix.cpp filesys.cpp filent.cpp fileunix.cpp frames.cpp function.cpp glob.cpp hash.cpp hcache.cpp hdrmacro.cpp headers.cpp jam_strings.cpp jam.cpp jamgram.cpp lists.cpp make.cpp make1.cpp md5.cpp mem.cpp modules.cpp native.cpp object.cpp option.cpp output.cpp parse.cpp pathnt.cpp pathsys.cpp pathunix.cpp regexp.cpp rules.cpp scan.cpp search.cpp startup.cpp subst.cpp sysinfo.cpp timestamp.cpp variable.cpp w32_getreg.cpp modules/order.cpp modules/path.cpp modules/property-set.cpp modules/regex.cpp modules/sequence.cpp modules/set.cpp -o b2tools/build/src/engine/b2
Detecting Python version... 2.7
Detecting Python root... /usr
Unicode/ICU support for Boost.Regex?... /usr
Generating B2 configuration in project-config.jam for gcc...Bootstrapping is done. To build, run:./b2To generate header files, run:./b2 headersThe configuration generated uses gcc to build by default. If that is
unintended either use the --with-toolset option or adjust configuration, by
editing project-config.jam.Further information:- Command line help:./b2 --help- Getting started guide: http://www.boost.org/more/getting_started/unix-variants.html- B2 documentation:http://www.boost.org/build/2.3 编译和安装
1执行b2命令编译源码先检测编译依赖然后根据依赖配置进行编译。 2成功编译后安装b2 install。 默认安装路径为/usr/local/include/boost 和 /usr/local/lib/
$ ./b2
Performing configuration checks- default address-model : 64-bit [1]- default architecture : x86 [1]Building the Boost C Libraries.- compiler supports SSE2 : yes [2]- compiler supports SSE4.1 : yes [2]- has std::atomic_ref : no [2]- has -Wl,--no-undefined : yes [2]- has statx : yes [2]- has init_priority attribute : yes [2]- has stat::st_blksize : yes [2]- has stat::st_mtim : yes [2]- has stat::st_mtimensec : no [2]- has stat::st_mtimespec : no [2]- has stat::st_birthtim : no [2]- has stat::st_birthtimensec : no [2]- has stat::st_birthtimespec : no [2]- has fdopendir(O_NOFOLLOW) : yes [2]- has POSIX *at APIs : yes [2]- cxx11_auto_declarations : yes [2]- cxx11_constexpr : yes [2]- cxx11_defaulted_functions : yes [2]- cxx11_final : yes [2]- cxx11_hdr_mutex : yes [2]- cxx11_hdr_tuple : yes [2]- cxx11_lambdas : yes [2]- cxx11_noexcept : yes [2]- cxx11_nullptr : yes [2]- cxx11_rvalue_references : yes [2]- cxx11_template_aliases : yes [2]- cxx11_thread_local : yes [2]...检测编译依赖Component configuration:- atomic : building- chrono : building- container : building- context : building- contract : building- coroutine : building- date_time : building- exception : building- fiber : building- filesystem : building- graph : building- graph_parallel : building- headers : building- iostreams : building- json : building- locale : building- log : building- math : building- mpi : building- nowide : building- program_options : building- python : building- random : building- regex : building- serialization : building- stacktrace : building- system : building- test : building- thread : building- timer : building- type_erasure : building- url : building- wave : building...patience...
...patience...
...found 18844 targets...
...updating 1767 targets...... (编译源码)common.copy /home/dev/github/boost/temp/boost_1_82_0/stage/lib/libboost_wave.a
...updated 1767 targets...The Boost C Libraries were successfully built!The following directory should be added to compiler include paths:/home/dev/github/boost/temp/boost_1_82_0The following directory should be added to linker library paths:/home/dev/github/boost/temp/boost_1_82_0/stage/lib2.4 测试程序
安装后不用指定include和library path编译时可自动搜索到。 以下测试程序可用clion或者命令行编译
$ g -o main main.cpp#include string
#include iostream
#include boost/foreach.hppint main()
{std::string hello( Hello, world! );BOOST_FOREACH( char ch, hello ){std::cout ch;}return 0;
}2.5 CMake依赖
在cmake脚本中使用find_package显示引用boost
find_package(Boost 1.82 REQUIRED COMPONENTS filesystem regex PATHS C:/Boost)
find_package(Boost 1.82 REQUIRED COMPONENTS ALL)
find_package(Boost 1.82 REQUIRED ALL)