Boost编译和安装说明

合集下载

Boost 库的编译

Boost 库的编译

首先下载bjam.exe,复制到 $BOOST$ 目录下。

或者自己生成bjam,打开Visual Studio 2008 命令提示窗口$BOOST$\tools\jam\src,执行 build.bat 会在$BOOST$\tools\jam\src\bin.ntx86 生成 bjam.exe 文件。

复制文件bjam.exe 文件到 $BOOST$\下。

1.完全编译安装:bjam --toolset=msvc install完成后会生成一个bin.v2编译时的临时目录,手动删除。

生成另一个目录C:\boost,里面为所有的头文件和库文件。

头文件目录为boost_1_34_1\boost 目录复制过去的。

2.只编译相应的库文件bjam --toolset=msvc stage完成后同样会生成bin.v2临时目录。

另一个目录为stage文件,里面有对应的库文件。

3.查看需要编译才能使用的库列表bjam --show-libraries4.编译特定的库,如只编译regexbjam --toolset=msvc --with-regex stage生成的库文件在stage目录中。

5.不编译某个库,如不编译regexbjam --toolset=msvc --without-regex stage生成的库文件在stage目录中。

6.编译特定的库,如只编译regex,生成debug,多线程,共享连接版本,并保存在stage。

bjam --toolset=msvc --with-regex stage debug threading=multi link=shared7.生成 mt-sgd 的静态库(runtime-link-static)bjam "-sTOOLS=vc-8_0" --with-thread install debug releaseruntime-link=static8.编译regex库。

boost库安装教程

boost库安装教程

boost库安装教程Win将 D:\boost 引⼊⼯程即可。

Linux下载解压后编译:./bootstrap.shsudo ./b2 --buildtype=complete install# sudo ./b2 --buildtype=complete stagestage选项指定Boost使⽤本地构建。

如果使⽤install选项则编译后会把Boost安装到默认路径下(/usr/local)。

MAC下载boost库解压编译在解压后的⽂件夹内打开终端,执⾏:./bootstrap.shsudo ./b2 --buildtype=complete install# sudo ./b2 --buildtype=complete stagestage选项指定Boost使⽤本地构建。

如果使⽤install选项则编译后会把Boost安装到默认路径下(/usr/local)。

添加库⽂件位置安装好后,Xcode的项⽬中还是找不到Boost,需要⼿动将Boost的路径导⼊进去。

点击左侧⼯程名称,在右侧的Build Settings标签⾥点击ALL找到其中的Search Paths下的Header Search Paths⼀栏,双击增加⼀个⽬录,填⼊⽬录位置,/usr/local/include/,然后找到Library Search Paths⼀栏,填⼊/usr/local/lib,这样就能正常调⽤Boost库了。

测试#include <iostream>#include <boost/version.hpp>int main(int argc, const char * argv[]) {std::cout<<"Boost版本:"<<BOOST_VERSION<<std::endl;return 0;}Boost版本:107100Program ended with exit code: 0。

Vc6.0 Boost

Vc6.0 Boost

vc6.0环境下编译Boost 1.34.1(2009-07-27 17:09:46)转载▼分类:电脑标签:杂谈今天在同学的帮助下,成功的在vc6.0中安装和编译boost库,遇到不少问题,并解决之,把过程大概写一下,以便以后参阅:(主要参考文章:/blog/cns!C523F565A10E3B66!749.entry/liroket/archive/2009/06/10/4257308.aspx)据说c6.0不支持目前比较新版本,如:boost1.36。

这里给出VC6.0编译boost1.34.1的流程。

1.从下载相对应版本的压缩文件,我下载的是boost_1_34_1.zip。

2.解压缩到本地磁盘(这里为d盘),进入F:\boost_1_34_1\tools\jam\src,鼠标右键-》编辑“build.bat”文件。

把if "_%ProgramFiles%_" == "__" set ProgramFiles=c:\Program Files改成自己vc6.0的安装路径,我的是d盘program files,因此我改成了if"_%ProgramFiles%_" == "__" set ProgramFiles=d:\Program Files然后,顺便检查一下该文件中if EXIST "%ProgramFiles%\Microsoft Visual Studio\VC98\bin\VCVARS32.BAT" (set "BOOST_JAM_TOOLSET=msvc"set "BOOST_JAM_TOOLSET_ROOT=%ProgramFiles%\Microsoft Visual Studio\VC98\"goto :eof)是否和你的vc6.0路径相同。

boost的编译使用

boost的编译使用

boost的编译使用Boost是一个流行的C++库,它提供了许多功能强大的工具和组件,包括容器、算法、并发编程、图形学、网络编程等。

要使用Boost库,首先需要下载并安装Boost库,然后在编译和链接你的C++程序时包含相应的Boost头文件和链接Boost库文件。

下面我将从编译和使用Boost库的角度来详细介绍。

1. 下载和安装Boost库。

首先,你需要从Boost官方网站下载最新的Boost库源代码。

然后,解压缩文件并按照官方文档中的指导进行安装。

通常情况下,Boost提供了一个名为bootstrap.bat(Windows)或者bootstrap.sh(Linux)的脚本,你可以运行这个脚本来配置Boost 库。

接着,运行b2命令来编译Boost库。

2. 编译和链接Boost库。

一旦Boost库安装完成,你就可以在你的C++程序中使用它了。

在编译你的程序时,确保你的编译器能够找到Boost库的头文件。

你可以使用编译器的命令行选项或者在你的IDE中配置头文件搜索路径。

在链接你的程序时,确保你的编译器能够找到Boost库文件。

你需要指定Boost库文件的路径和库名字,具体的方法取决于你使用的编译器和操作系统。

3. 使用Boost库。

一旦你的程序成功编译和链接了Boost库,你就可以在你的代码中包含相应的Boost头文件,并使用Boost提供的功能和组件了。

比如,如果你想使用Boost的智能指针,你可以包含<boost/shared_ptr.hpp>头文件,并使用boost::shared_ptr类来管理动态分配的对象。

总之,要使用Boost库,你需要下载、安装Boost库,配置你的编译器,包含Boost头文件,链接Boost库文件,并在你的代码中使用Boost提供的功能和组件。

希望这些信息能够帮助你成功地编译和使用Boost库。

boost库的编译以及在CodeBlocks中的配置

boost库的编译以及在CodeBlocks中的配置

Boost库的编译和在CodeBlocks的配置基本信息:时间:2012/11/2Boost库的版本:boost.1.51.0 release版CodeBlocks版本:编译前准备:如果是用gcc编译boost,首先一定要先安装MinGW或者安装带MinGW的CodeBlocks,并给gcc编译器置环境变量。

当然是可以使用VS编译boost库,使用vs新建一个工程编译boost库,可以参考:/boost.html本机使用的gcc的版本:步骤一,从boost的官方网站上下载最新的boost版本库,输入网址:如图所示,一般是官网上是都是最新的Release版和最新的Bata版,这里为了稳等的需求,一般是选择Release版的。

点击download进入下载的页面:这里可以根据网速的需求,下载不同的压缩格式,一般而言,不同的格式,因为压缩率的不同,解压缩的时间也不同。

步骤二.下载完成后,解压缩,解压的后的文件大概是400多MB。

解压后的文件的组织形式如下。

这里,新版的文件组织好像和以前的不同,双击图中的booststrap.bat 文件,此时会出现如下的窗口:这个窗口会出现几分钟,当它消失的会产生两个exe文件:单击并运行这两个文件中一个,一开始的时候,也不是很清楚两者有什么区别,但是后来发现,这俩个程序至少完成的功能是一样的。

运行bjam.exe时,此时,boost开始编译,大概是30-40分钟的样子(注意:不同电脑的时间是不同的,这是一因为编译的时候需要耗费大量的CPU资源和内存资源。

我的笔记本是i3 的处理器,2g 的内存),步骤三.由于是直接运行exe文件的,没看到最后的结果,可以自cmd命令行中,先进入当前的目录,输入cd D:\Users\xj\Downloads\boost_1_51_0\boost_1_51_0 再一次运行bjam.exe,可看到,如下的截图,说明编译成功。

注意,在编译中能会出现一些警告入文件找不到之类的,请忽略它。

Linux上安装使用boost入门指导

Linux上安装使用boost入门指导

1.获得boost2.boost分布3.只需要头文件的库4.使用boost建立一个简单的程序5.准备使用boost二进制文件库6.把你的程序链接到boost库1.获得boost:下载boost_1_46_1.tar.bz2解压2.boost分布boost_1_46_1.........................boost根目录boost/.....................................所有boost头文件libs/........................................Tests,.cpps,docs等的库文件注意:(1)boost根目录(通常是/usr/local/boost_1_46_1)想到$BOOST_ROOT变量中(2)编译程序时如果用到boost库,需要指定头文件路径-I$BOOST_ROOT(3)因为所有头文件都在boost文件夹下,并且头文件都是hpp后缀,所#include形如:#include <boost/whaever.hpp>3.只需要头文件的库绝大多数的boost库都是header-noly的:它们完全由包含模板和inline函数的头文件组成,不需要单独编译和二进制库文件,也不需要链接时特别对待。

只有下面的boost库必需单独built:∙Boost.Filesystem∙Boost.GraphParallel∙Boost.IOStreams∙Boost.MPI∙Boost.ProgramOptions∙Boost.Python (see the Boost.Python build documentation before building and installing it)∙Boost.Regex∙Boost.Serialization∙Boost.Signals∙Boost.System∙Boost.Thread∙Boost.Wave下面这些单独built是可选(optional)的:Boost.DateTime Boost.Graph Boost.Math Boost.Random Boost.Test4.使用boost建立简单的程序下面的程序()只用到header-only库。

boost安装

boost安装


# ./bjam --build-type=complete --layout=tagged stage

# ./bjam
方法2:
# cd /usr/src/boost_1_40_0/tools/jam
# ./build_dist.sh
也会完成Linux平台bjam和Boost的所有编译工作,并生成所有调试版、发行版的静态库和动态库。但不推荐该方式。
方法2:
(1) # cd /usr/src/boost_1_40_0/tools/jam/src
(2) # ./build.sh
编译完成后:
生成的可执行文件为
# /usr/src/boost_1_40_0/tools/jam/src/bin.linuxx86/bjam
需要将bjam.exe拷贝到源代码所在的目录
3. 完整编译Boost
对Boost进行完整编译,生成所有调试版、发行版的静态库和动态库。
方法1:
# cd /usr/src
# wget /projects/boost/files/boost/1.40.0/boost_1_40_0.tar.bz2
# tar --bzip2 -xvf boost_1_40_0.tar.bz2
# cd boost_1_40_0
# bjam --toolset=gcc --build-type=complete stage

# ./bjam --build-type=complete --layout=versioned //库名带gcc版本
# cp bin.linuxx86/bjam /usr/src/boost_1_40_0

Boost库的安装与使用

Boost库的安装与使用

Boost库在Windows及Linux上的安装及使用Windows with VS20101.安装VS20102.下载安装Python (编译Boost库时需要)https:///3.下载 最新boost库/projects/boost/files/latest/download4.解压到指定目录。

例如:D:\boost_1_57_0这时,大部分库可以用了,但是与操作系统相关的部分还需要Build.比如thread库。

5.编译boost库运行command window. 开始菜单/运行/cmd输入Dos命令:d:输入Dos命令:cd d:\boost_1_57_0运行批处理:bootstrap.bat运行完后输入命令:./b2编译结束后就可以使用了6. 设置VS2010添加include 路径:d:\boost_1_57_0添加library路径: d:\stage\lib (编译好后产生的)Linux with GCC1.下载安装Python (编译Boost库时需要)https:///2.下载 最新boost库/projects/boost/files/latest/download3.解压到指定目录例如:/usr/boost_1_57_0这时,大部分库可以用了,但是与操作系统相关的部分还需要Build.比如thread库。

4.Build boost库运行命令窗口,将当前路径切到/usr/boost_1_57_0输入命令:./bootstrap.sh运行完后输入命令:./b2编译结束后就可以使用了5.编译使用boost库的项目例如程序文件为test.cppg++ -c test.cpp -o test.o –I/usr/boost_1_57_0g++ -o test test.o boost_thread.a–lstc++ -pthread –lrt-L/usr/boost_1_57_0/stage/lib注意:如果在使用STL库时报很多undefine的错误,多半是没有link STL 库的原因。

boost编译流程

boost编译流程

boost编译流程Boost是一个由一系列C++库组成的开源项目,这些库提供了广泛的功能,用于增强C++语言的能力。

Boost库被广泛应用于C++开发中,它可以提供许多有用的功能,例如算法、容器、多线程、文件系统、正则表达式等等。

Boost库的编译流程相对简单,本文将介绍Boost库的编译流程及相关内容。

一、获取Boost库源代码二、解压源代码包1. boost - 该目录包含了所有的Boost库源代码2. doc - 该目录包含了Boost库的文档3. libs - 该目录包含了所有的Boost库的源代码和构建文件4. tools - 该目录包含了一些构建和安装工具三、构建Boost库进入解压后的源代码目录,打开终端或命令提示符,执行以下命令,进入Boost库的构建环境:$ ./bootstrap.sh (Linux和MacOS)或者$ .\bootstrap.bat (Windows)执行成功后,会生成一个名为b2或bjam的可执行文件,该文件是用于构建Boost库的工具。

四、编译Boost库在构建环境中执行以下命令,编译Boost库:$ ./b2 (Linux和MacOS)或者$ .\b2.exe (Windows)默认情况下,Boost库会在构建目录下的stage/lib目录中生成编译好的库文件。

使用者可以自行设置构建参数,控制Boost库的编译行为。

例如,可以通过指定编译器、选择要构建的库等方式来定制Boost库的编译。

五、安装Boost库执行以下命令,将编译好的Boost库安装到系统中:$ sudo ./b2 install (Linux和MacOS)或者$ .\b2.exe install (Windows)默认情况下,Boost库会被安装到系统的默认位置。

但是,使用者也可以通过设置install_path参数来指定安装路径。

六、配置开发环境将Boost库安装到系统后,需要配置开发环境,以便编译和链接Boost库。

C++的boost库的编译安装

C++的boost库的编译安装

ICU编译(VS2010):ICU提供了unicode和国际化支持,目前的版本是 4.8.1。

ICU的主页是/。

(1). 下载可以从/projects/icu/files/下载源代码版本。

4.8.1是VS2010的,4.4.2才是VS2008的,如果是2010要做转换。

(2). 编译ICU的编译比较简单,打开ICU源代码目录下的source\allinone\allinone.sln,需要转换到VS2008格式,直接转换即可。

然后,选择release,Rebuild Solution即可。

(3). 测试将编译出来的bin目录加入到系统的PATH目录中去。

然后,重新打开allinone.sln工程。

需要通过测试的项目1. cintltst项目2. intltest项目3. iotest分别设置成启动项目,运行即可。

2. bzipbzip的主页是/,从/downloads.html下面下载源代码包即可,boost直接使用源代码来进行编译。

3. zlibzlib的主页是/,/projects/gnuwin32/files/zlib/从该网页下面下载源代码包即可,boost直接使用源代码来进行编译。

4. pythonpython的主页是/,下载python的2.5.2版本,安装即可。

boost默认是会编译python,并且会自动寻找python的安装目录。

ICU编译(MinGW):还未成功编译第一步:到官网,下载boost最新版boost_1_47_0.zip第二步:将boost压缩包解压到C盘根目录下(在C盘操作简单,不会出错),目录为C:\BOOST_1_47_0,里面就是boost的源码和需要编译的文件及文档资料第三步:用打开一个cmd命令窗口,在C:\Program Files\Microsoft Visual Studio 10.0\VC\bin目录下找到VCVARS32.bat,拖到cmd命令窗口,按回车第四步:将cmd中的目录跳转到C:/boost_1_47_0/tools/build/v2下,拖动bootstrap.bat批处理文件到cmd,,按回车键,随即就会在C:/boost_1_47_0/tools/build/v2下生产一个bjam.exe和b2.exe。

boost下载安装编译

boost下载安装编译

理论上,本文适用于boost的各个版本,尤其是最新版本1.39.0;适用于各种C++编译器,如VC6.0,VS2003, VS2005,VS2008,gcc,C++ Builder等。

一、下载首先从boost官方主页下载最新版boost安装包(目前最新版是1.39.0)。

因为boost一部分类是需要编译成库才能使用的,所以我们还需要准备好boost专用的编译辅助工具bjam。

网上很多人都提倡直接使用boost安装包中附带的bjam源码来编译出bjam,但是之前需要修改若干配置脚本才能编译成功。

个人认为真没什么必要,费这劲毫无意义。

boost官方网站在提供boost安装包下载链接的同时也提供与该版本安装包对应的bjam的下载,只有200多KB,可以一同下载下来。

二、安装将boost安装包解压至本地目录,如:E:SDKboost_1_39_0,然后将bjam.exe拷贝到该目录下(bjam必须与boost-build.jam在同级目录)。

三、编译接下来就是最重要的编译步骤了。

需要打开命令提示符(cmd.exe)窗口并执行bjam,可以使用--help 参数来查看命令帮助。

这里详细讲解一下bjam的命令行参数,因为它非常重要。

首先,它涉及到编程环境的搭建,你需要根据自己今后具体的使用环境来选择合适的命令行参数;其次,它影响到你的硬盘空间,完全编译的话据说在3G以上,如果你同时拥有2个以上的IDE(如VC6和VC9共存)而且都要用到boost,那么占用多少硬盘就自己算吧……虽说如今大家的硬盘空间都不成问题,但就像本人一样崇尚合理利用资源不习惯铺张浪费提倡节俭的童子应该大有人在。

综合以上两点因素,本人使用的bjam命令如下:bjam stage --toolset=msvc-9.0 --without-python--stagedir="E:SDKboost_1_39_0vc9" link=shared runtime-link=shared threading=multi debug release下面详细解释一下每个参数的含义,请务必仔细看完:stage/install:stage表示只生成库(dll和lib),install还会生成包含头文件的include目录。

boost安装

boost安装

boost 1_33_1在VC6.0上的安装、编译、配置2008-03-05 20:52转载自:/roger_77/archive/2006/01/13/577998.aspx最近要使用boost库来进行一些跨平台的开发,比如使用thread线程库来开发多线程的程序。

在网上找了一下,大部分关于boost安装编译的文档是在环境下进行的,关于boost 在VC6.0上进行编译的比较少,由于本人的主要开发环境是VC6.0,所以自己动手进行了下面的boost配置编译工作。

一.编译前的准备.本人的VS6.0安装在“D:\Program Files\Microsoft Visual Studio”目录,下载boost的地址"/boost/boost_1_33_1.zip?download",boost解压后的根目录为:"D:\C++\boost_1_33_1",可参考改为相应的目录即可。

二.编译步骤1.修改“D:\C++\boost_1_33_1\tools\build\jam_src\build.bat”中的所有:“C:\Program Files\Microsoft Visual Studio”为“D:\Program Files\Microsoft Visua l Studio”,也就是VS6.0的安装目录。

2.执行:“D:\C++\boost_1_33_1\tools\build\jam_src\build.bat”产生一个子文件夹“bin.ntx86”,里面有个可执行文件"bjam.exe"。

3.拷贝这个可执行文件"bjam.exe"放到“D:\C++\boost_1_33_1”目录.4.添加“D:\C++\boost_1_33_1”到操作系统的环境变量path中,SET path="D:\C++\boost_1_33_1";%PA TH%5.打开控制台(cmd),在命令行执行后面的步骤.5.1 先执行以下命令,设置VC编译环境:SET MSVC_ROOT="D:\Program Files\Microsoft Visual Studio\VC98"SET VISUALC="D:\Program Files\Microsoft Visual Studio\VC98"SET JAM_TOOLSET=VISUALCSET PYTHON_ROOT=D:\Program Files\Python2.2.2SET PYTHON_VERSION=2.25.2 进入“D:\Program Files\Microsoft Visual Studio\VC98\bin"目录,运行"VCV ARS32.BA T”,5.3 然后转到“D:\Program Files2\boost_1_33_1”目录,最后运行下面的命令来编译boost库:(仍然是同一个控制台窗口!否则无效)bjam -sBOOST_ROOT=. -sTOOLS=msvc "-sBUILD=debug release static/dynamic"6.编译过程在boost的根目录下产生“bin\boost\libs”文件夹,约130兆;整个过程约25分钟.7.为了以后在项目中配置方便,把编译出来的*.lib,*.dll文件搜索出来后,把这些文件统一放到一个自己新建的目录下,比如libs_vc6目录。

Boost库学习指南与使用说明

Boost库学习指南与使用说明

Boost库学习指南与使用说明Boost库学习指南与使用说明一、简介1.1 Boost库概述1.2 Boost库的优势1.3 Boost库的应用领域二、安装与配置2.1 Boost库2.2 解压并安装Boost库2.3 设置Boost库环境变量三、常用模块介绍3.1 模块3.1.1 文件系统操作函数3.1.2 文件和目录迭代器3.2 Regex模块3.2.1 正则表达式语法3.2.2 正则表达式的使用方法3.3 Smart Pointers模块3.3.1 shared_ptr类3.3.2 unique_ptr类3.4 Thread模块3.4.1 线程的创建与管理3.4.2 线程同步与互斥四、常见问题与解决方案4.1 Boost库的兼容性问题4.2 Boost库的编译问题4.3 Boost库的运行时问题五、实例与案例分析5.1 使用模块进行文件操作5.2 使用Regex模块进行字符串匹配5.3 使用Smart Pointers模块管理动态内存 5.4 使用Thread模块实现并行计算附件:1: Boost库官方文档(boost_documentation:pdf)2: Boost库示例代码(boost_examples:zip)注释:1: Boost库:一个由C++标准库扩展而来的开源C++库,提供了大量的功能模块,广泛应用于软件开发领域。

2:环境变量:操作系统中存储了一些用于指定操作系统运行环境的参数值的特殊变量。

3:迭代器:访问一个容器(如数组、列表、集合等)中的元素的指针或引用。

4:正则表达式:一种描述字符串模式的语法规则,用于进行字符串的匹配和替换等操作。

5:共享指针:一种智能指针,允许多个指针共享同一个对象,并在所有共享指针都释放对象后自动销毁对象。

6:独占指针:一种智能指针,采用独占所有权的方式管理动态分配的对象,并在指针被销毁时自动释放对象。

7:线程:一个独立的执行路径,可以同时进行多个线程的执行,实现程序的并发执行。

C++boost库的安装过程详解

C++boost库的安装过程详解

C++boost库的安装过程详解Windows安装boost库1,下载解压,我的⽬录“C:\Program Files (x86)\Microsoft Visual Studio\2017”2,以管理员⾝份运⾏“适⽤于 VS 2017 的 x64 本机⼯具命令提⽰”3,执⾏以下命令进⾏编译:cd /d "C:\Program Files (x86)\Microsoft Visual Studio\2017\boost_1_73_0"bootstrap.bat // 执⾏失败需要查看bootstrap.log,成功后会得到b2.exe,b2.exe4,使⽤// ⼯程:属性 =》配置属性 =》C/C++ =》常规 =》附加包含⽬录填上:C:\Program Files (x86)\Microsoft Visual Studio\2017\boost_1_73_0// ⼯程:属性 =》配置属性 =》链接器 =》常规 =》附加库⽬录填上:C:\Program Files (x86)\Microsoft Visual Studio\2017\boost_1_73_0\stage\lib #include <iostream>#include <string>#include <boost/filesystem.hpp>using namespace boost::filesystem;int main(int argc, char* argv[]){std::string file;std::cin >> file;std::cout << file << " : " << file_size(file) << std::endl;return 0;}Linux安装boost库1,下载解压2,进⼊解压后的⽬录执⾏命令$ sudo ./bootstrap.sh$ sudo ./b2 install // 头⽂件在/usr/local/include,库⽂件在/usr/local/lib3,使⽤#include <iostream>#include <boost/filesystem.hpp>using namespace boost::filesystem;int main(int argc, char *argv[]){if (argc < 2){std::cout << "⽤法:app path\n";return 1;}std::cout << argv[1] << ":" << file_size(argv[1]) << std::endl;return 0;}// 编译命令:g++ TestBoostLib.cpp -o Test -I /usr/local/include -static -L /usr/local/lib -lboost_system -lboost_filesystem到此这篇关于C++ boost库的安装过程详解的⽂章就介绍到这了,更多相关C++ boost库的安装内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。

boost的编译使用

boost的编译使用

boost的编译使用Boost是一个开源的C++库集合,提供了各种功能和工具,用于加速C++应用程序的开发过程。

它旨在提高C++程序的性能、可移植性和功能扩展性。

Boost库被广泛应用于各种领域,如网络编程、多线程编程、图形图像处理等。

Boost的编译使用非常简单,只需按照以下步骤进行即可:1. 下载Boost库:从官方网站下载最新版本的Boost库,解压缩到任意目录。

2. 设置环境变量:将Boost库所在目录添加到系统的环境变量中,以便编译器可以找到Boost库的头文件和库文件。

3. 编写代码:使用Boost库提供的功能和工具编写C++代码。

比如,如果需要使用Boost的字符串处理功能,只需包含相应的头文件,并使用Boost命名空间即可。

4. 编译代码:使用C++编译器编译代码。

在编译时,需要指定Boost 库的路径和库文件名。

5. 运行程序:编译成功后,就可以运行生成的可执行文件了。

根据具体的应用场景,可能需要提供一些参数或输入文件。

Boost库提供了丰富多样的功能和工具,可以大大简化C++程序的开发过程。

比如,Boost的智能指针可以帮助管理动态内存,避免内存泄漏;Boost的多线程库可以方便地实现并发编程;Boost的正则表达式库可以进行强大的文本匹配和处理等等。

Boost是一个功能强大的C++库集合,可以提高C++程序的开发效率和性能。

使用Boost库,开发者可以更加专注于业务逻辑的实现,而不必过多关注底层的细节。

同时,Boost库的开源性和广泛应用性也使得开发者可以从社区中获得丰富的资源和支持。

无论是初学者还是有经验的开发者,都可以从Boost库中受益,并加速自己的C++开发过程。

Boost库的编译

Boost库的编译

-- 输出: libboost_regex-vc90-mt-s.lib
libboost_regex-vc90-mt-1_44.lib
(4)生成 Release 版本,多线程,静态链接C++标准库 的regex 静态库
bjam --toolset=msvc-9.0 --stagedir=D:\ThirdParty\boost_1_44_0\boost-1_44\stage --with-regex link=static threading=multi variant=release runtime-link=static stage
【注意】: Boost 源代码所在路径最好全英文,不要有空格、特殊字符、中文等
编译要花上30分钟左右(根据PC性能所定), 会在指定生成目录:
D:\ThirdParty\boost_1_44_0\boost-1_44\stage下生成对应库文件和头文件。
Bjam 选项、参数说明
--build-dir=<builddir> 编译的临时文件会放在builddir里(编译完就可以把它删除了)
-- 输出: libboost_regex-vc90-mt-gd.lib
libboost_regex-vc90-mt-gd-1_44.lib
(2)生成 Debug 版本,多线程,静态链接C++标准库 的regex 静态库
bjam --toolset=msvc-9.0 --stagedir=D:\ThirdParty\boost_1_44_0\boost-1_44\stage --with-regex link=static threading=multi variant=debug runtime-link=static stage

BOOST编译方法

BOOST编译方法

BOOST编译⽅法Windowsbjam --toolset=msvc-9.0 --prefix=C:\vc9_boost\vc9 --build-type=complete link=static threading=multi install【⼀、Boost库的介绍】Boost库是⼀个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之⼀。

Boost库由C++标准委员会库⼯作组成员发起,其中有些内容有望成为下⼀代C++标准库内容。

在C++社区中影响甚⼤,其成员已近2000⼈。

Boost库为我们带来了最新、最酷、最实⽤的技术,是不折不扣的“准”标准库。

Boost库中⽐较有名的⼏个库:(1)Regex,正则表达式库;(2)Spirit,LL parser framework,⽤C++代码直接表达EBNF;(3)Graph,图组件和算法;(4)Lambda,在调⽤的地⽅定义短⼩匿名的函数对象,很实⽤的functional功能;(5)concept check,检查泛型编程中的concept;(6)Mpl,⽤模板实现的元编程框架;(7)Thread,可移植的C++多线程库;(8)Python,把C++类和函数映射到Python之中;(9)Pool,内存池管理;(10)smart_ptr,智能指针。

【⼆、Boost库的编译】【Setp1 准备⼯作】:(1)Boost 下载可以到官⽅⽹站下载:(2)安装VS2008 IDE【Setp2 编译Boost】1.打开Visual Studio 2008 命令提⽰窗⼝2.进⼊D:\05_Computer\04_3rdPatry\02Boost\boost_1_44_0\boost_1_44_0\tools\jam\src3.执⾏ build.bat 会在D:\05_Computer\04_3rdPatry\02Boost\boost_1_44_0\boost_1_44_0\tools\jam\src\bin.ntx86 ⽣成 bjam.exe⽂件.4.Copy bjam.exe ⽂件到 D:\05_Computer\04_3rdPatry\02Boost\boost_1_44_0\boost_1_44_0 下6.进⼊D:\05_Computer\04_3rdPatry\02Boost\boost_1_44_0\boost_1_44_0 ⽬录7.执⾏bjam.exe 编译命令,如下:(1)编译所有boost动态库(release|debug),包括头⽂件和库⽂件bjam --toolset=msvc-9.0 --prefix=D:\05_Computer\04_3rdPatry\02Boost\boost_1_44_0\output --without-python --build-type=completelink=shared threading=multi install(2)只编译 release 版本 regex 动态库,包括头⽂件和库⽂件bjam --toolset=msvc-9.0 --prefix=D:\05_Computer\04_3rdPatry\02Boost\boost_1_44_0\output1 --with-regex link=shared threading=multi variant=release runtime-link=shared install(3)只编译 release 版本 regex 动态库,包括库⽂件bjam --toolset=msvc-9.0--stagedir=D:\05_Computer\04_3rdPatry\02Boost\boost_1_44_0\output2--with-regex link=shared threading=multi variant=release runtime-link=shared stage【注意】: Boost 源代码所在路径最好全英⽂,不要有空格、特殊字符、中⽂等编译要花上30分钟左右(根据PC性能所定),会在指定⽣成⽬录:D:\05_Computer\04_3rdPatry\02Boost\boost_1_44_0\output下⽣成对应库⽂件和头⽂件。

boost编译配置及简单使用

boost编译配置及简单使用

boost编译配置及简单使⽤boost编译配置及简单使⽤1、下载2、编译: A、解压 boost_1_55_0.zip 到boost路径 B、运⾏ bootstrap.bat。

会⽣成2个⽂件,分别是bjam.exe 和 b2.exe.bjam是早起的⽂件,新版本⽤b2⽐较好 C、可以查看b2.exe的⽤法,在cmd⾥⾯输⼊ "b2 --help" 这⾥基本上有各个参数的⽤法和意思。

boost全部编译会消耗很多时间,⼀般需要编译的是与操作系统相关的。

可以⽤命令查看那些需要编译:b2 --show-libraries b2.exe toolset=msvc-9.0 --with-regex variant=release link=static --stagedir=regex_lib 这样就能编译出regex的lib⽂件到regex_lib⽂件夹下⾯。

toolset 指的是使⽤哪个编译器,msvc指的是微软的vc编译器,因为同⼀台机器上可能有多个版本的vc,所以后⾯需要带上版本号,VC2008是9.0--with 后⾯带的是需要编译类库,也可以⽤without来排除编译哪个类库 variant指的是编译成debug还是release版本 link指的是编译成静态库还是动态库 stagedir指的是编译后的⽂件放到哪⾥ 了解了上⾯这些命令后,基本可以做到需要哪个库就编译哪个库了。

再来测试下编译regex的动态库: b2.exe toolset=msvc-9.0 --with-regex variant=release link=shared --stagedir=regex_lib 效果如下:3、使⽤boost的regex。

linux下boost编译

linux下boost编译
}
2.编译,运行
--g++ -o test test.cpp
#ls
test test.cpp
# ./test
123456
123.456
int a= lexical_cast<int>("123456");
double b = lexical_cast<double>("123.456");
std::cout << a << std::endl;
std::cout << b << std::endl;
return 0;
所以编译完了是这样的
5.update动态链接库: sudo ldconfig
安装完毕
三,测试使用:
1.测试代码
#cat test.cpp
#include <boost/lexical_cast.hpp>
#include <iostream>
int main()
{
using boost::lexical_cast;
The following directory should be added to linker library paths:
/home/terry/Local/boost_1_47_0/stage/lib
因为我是解压到/home/terry/Local/boost_1_46_1下了
搜到所有的boost库
然后:
sudo apt-get install libboost-all-dev
安装相应的库

externalproject_add编译boost

externalproject_add编译boost

externalproject_add编译boost Boost是一个广泛使用的开源C++库集合,它提供了很多强大的工具和函数库,例如算法、容器、函数、日期与时间处理、数学计算等等。

Boost的编译和使用相对来说比较复杂,其中涉及到很多配置和依赖问题。

在CMake中,可以使用externalproject_add来简化Boost的编译和集成过程,本文将介绍如何使用此功能来编译和使用Boost。

一、准备工作在使用externalproject_add编译Boost之前,需要先安装CMake和Boost依赖库。

CMake可以通过官网下载安装包进行安装,Boost依赖库可以通过Linux系统包管理工具进行安装,例如在Ubuntu系统可以使用以下命令进行安装:``` sudo apt-get install libicu-dev libbz2-dev zlib1g-dev ```此外,还需要下载Boost源代码,可以在Boost官网下载,下载完成后解压至一个目录中。

二、使用externalproject_add编译Boost1.首先需要在CMakeLists.txt中添加以下代码,来告诉CMake从外部项目中获取Boost并进行编译:``` include(ExternalProject)# 设置Boost源码路径 set(BOOST_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/boost)# externalproject_add定义一个名为boost的目标ExternalProject_Add(boost PREFIX${CMAKE_BINARY_DIR}/thirdparty/boost SOURCE_DIR ${BOOST_SRC_DIR} CONFIGURE_COMMAND${BOOST_SRC_DIR}/bootstrap.sh --with-libraries=all BUILD_COMMAND ${BOOST_SRC_DIR}/b2INSTALL_COMMAND "" ) ```上述代码中,ExternalProject_Add定义了一个名为boost的外部项目,通过PREFIX指定编译产物输出路径,SOURCE_DIR指定源码路径,CONFIGURE_COMMAND指定编译选项,BUILD_COMMAND指定编译命令,INSTALL_COMMAND设置为空,表示编译过程中不进行安装。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Boost编译和安装说明
一、下载和安装
从官方主页下载最新版,因为boost一部分类是需要编译成库才能使用的,所以需要准备好boost专用的编译辅助工具bjam。

可直接使用boost安装包中附带的bjam源码来编译出bjam。

将boost安装包解压到E:\boost_1_53_0,运行E:\boost_1_53_0\bootstrap.bat批处理,会复制E:\boost_1_53_0\tools\build\v2\engine\
bin.ntx86\bjam.exe到目录E:\boost_1_53_0\下,注意最后bjam.exe必须与boost-build.jam在同级目录。

二、编译
打开命令提示符(cmd.exe)窗口并执行bjam,使用--help查看命令帮助。

bjam的命令行参数涉及具体库的选择,会影响编译后的硬盘空间。

使用bjam命令如:bjam stage --toolset=msvc-10.0 --without-python
--without-wave --without-test --stagedir="E:\boost_1_53_0_vc10"
link=shared runtime-link=shared threading=multi debug release
下面详细解释一下每个参数的含义:
1)stage/install:stage表示只生成库(dll和lib),install还会生成包含头文件的
include目录。

推荐使用stage,因为install生成的这个include目录实际就是boost 安装包解压缩后的boost目录(E:\boost_1_53_0\boost,只比include目录多几个非hpp的小文件),可以直接使用,而且不同的IDE都可以使用同一套头文件。

2)toolset:指定编译器,可选的如borland、gcc、msvc(VC6)、msvc-9.0(VS2008)、
msvc-10.0(VS2010)等。

3)without/with:选择不编译/编译哪些库,默认是全部编译。

例如,without-python意
思是不需要编译python库。

如果选择编译python的话,应该到python官方主页
下载安装。

4)stagedir/prefix:stage时使用stagedir,install时使用prefix,表示编译生成文
件的路径。

如果使用了install参数,那么还将生成头文件目录。

推荐给不同的IDE 指定不同目录
5)build-dir:编译生成的中间文件的路径。

默认就在根目录(E:\boost_1_53_0)下,目
录名为bin.v2,等编译完成后可具体查看一下是否生成了lib、dll文件。

如果不需要可直接删除bin.v2目录
6)link:生成动态链接库/静态链接库。

动态链接库使用shared方式,静态链接库使用
static方式。

注意,static方式下生成的很多静态链接库大小都在几兆、几十兆。

不推荐以static方式编译(without掉),巨型库黑名单:wave、graph、math、regex、test、program_options、serialization、signals。

7)runtime-link:动态/静态链接C/C++运行时库,有shared和static两种方式,与link
参数组合有4种方式。

但通常一个工程用动态链接那么所有库都用动态链接,如果用静态链接那么所有库都用静态链接。

所以只需要编译2种组合即可,即link=shared runtime-link=shared和link=static runtime-link=static。

8)threading:单/多线程编译。

一般使用多线程程序,要指定multi方式;如果需要单线
程环境,使用single方式。

9)debug/release:编译debug/release版本,一般两个都编译出来。

编译总共用时20分钟左右。

分别编译静态链接和动态链接版本后,整个E:\boost_1_53_0目录(包括安装包解压缩文件和编译生成的库文件)只有250MB。

一般保留E:\boost_1_53_0\boost 头文件目录、libs目录,它提供了所有Boost类的使用范例参考;doc目录有完整的boost使用帮助。

其他目录和文件可以删除,节约出约150MB空间。

如果图省事,可以使用命令:bjam --toolset=msvc-10.0 --build-type=complete
指定编译器以完全模式编译,编译所有库,带来的后果是:
1)占用3G以上的硬盘空间
2)占用若干小时的编译时间
3)头文件和库文件都存放在C:\Boost目录下,比较混乱
4)生成的很多文件可能永远也用不上
三、配置
include目录:E:\boost_1_53_0\boost,约90MB
library目录:E:\boost_1_53_0vc10,编译后的dll动态库约15MB,加上dll动态库调试符号pdb文件,约95MB
添加到IDE相应的路径下面即可。

四、使用
使用举例:
#include <boostthread.hpp>
此时不用包含库文件,boost的auto-link机制将会自动包含对应的静态lib。

即boost 默认是以静态方式链接的,工程属性最好设为Multi-threaded (Debug)。

如果想使用dll 动态方式链接,需要预先定义宏:
#define BOOST_ALL_DYN_LINK
此时boost会默认包含对应的lib。

如果不想使用boost提供的auto-link机制,可以预先定义宏:
#define BOOST_ALL_NO_LIB
然后使用以下方法链接:
#pragma comment(lib, "boost_thread-vc100-mt-1_53.lib")

#pragma comment(lib, "boost_thread-vc100-mt.lib")
这两个lib其实是一样的,实在不明白boost编译时为什么每个库都要复制一份?另外还有一个比较有用的宏:
#define BOOST_LIB_DIAGNOSTIC
它让VC在编译时的output窗口中输出具体链接了哪些boost库及链接顺序。

关于boost的auto-link机制,详情可查看boostconfigauto_link.hpp里的代码。

相关文档
最新文档