C++的boost库的编译安装

合集下载

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设置为空,表示编译过程中不进行安装。

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路径相同。

Boost1.62.0编译参数

Boost1.62.0编译参数

Boost1.62.0编译参数Boost.Build 2015.07-git项⽬帮助:项⽬在Jamroot有Jamfile⽂件⽤法:B2 [options] [properties] [install|stage]构建和安装Boost⽬标及相关选项: Targets and Related Optionsinstall 将头⽂件和已编译的库⽂件安装到 Install headers and compiled library files to the======= 下列配置位置. configured locations (below).--prefix=<PREFIX> 架构独⽴⽂件安装⽬录 Install architecture independent files here.默认; C:\Boost Win32 Default; C:\Boost on Win32默认; /usr/local Unix. Linux, 等. Default; /usr/local on Unix. Linux, etc.--exec-prefix=<EPREFIX> 架构独⽴⽂件安装⽬录 Install architecture dependent files here.默认; <PREFIX> Default; <PREFIX>--libdir=<DIR> 库⽂件安装⽬录. Install library files here.默认; <EPREFIX>/lib Default; <EPREFIX>/lib--includedir=<HDRDIR> 头⽂件安装⽬录. Install header files here.默认; <PREFIX>/include Default; <PREFIX>/includestage 编译和安装已编译库⽂件到 Build and install only compiled library files to the===== stage⽬录. stage directory.--stagedir=<STAGEDIR> 库⽂件安装⽬录 Install library files hereDefault; ./stage Default; ./stageoptions:--build-type=<type> 编译指定预定义variant集的库. Build the specified pre-defined set of variations of 注意,在编译时使⽤哪些variant the libraries. Note, that which variants get built取决于每个库⽀持什么. depends on what each library supports.-- minimal -- (默认) 编译variant最⼩集. -- minimal -- (default) Builds a minimal set of在Windows上, 它们是使⽤共享运⾏库的 variants. On Windows, these are staticdebug和release静态多线程库. multithreaded libraries in debug and release在Linux上,它们是 modes, using shared runtime. On Linux, these arerelease静态和共享多线程库 static and shared multithreaded libraries inrelease mode.-- complete -- 编译所有可⽤variant. -- complete -- Build all possible variations.--build-dir=DIR 编译在此⽬录,⽽不是编译在 Build in this location instead of building within 代码⽬录。

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,可看到,如下的截图,说明编译成功。

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

boost.regex库安装指南

boost.regex库安装指南

Regex库安装小结在学习正则表达式后,我急切地想要通过编程来实现一些功能。

通过网上的一番查阅得知boost.regex库中提供了我所要的东西。

毫不夸张,我因为知道了boost这个库而高兴了好几天。

那么,进入正题,要使用boost库必须要做些麻烦事情而不是一个include就能了结了。

事实上,当你完成一次安装以后,你会发觉何其容易。

官方给出regex库的安装步骤,虽然我根据这个步骤没有做成功,但官方的步骤应该不会有问题,可能是我设置依赖库目录上的问题。

网址:/doc/libs/1_49_0/libs/regex/doc/html/boost_regex/install.html找到Microsoft Visual C++ 6, 7, 7.1 and 8,写的相当详尽。

下面给出我自己的操作步骤供大家参考:1)下载:到上下载boost(我下载的版本是boost_1_49_0)2)解压:解压的目录官方说随便哪里,但为了方便起见我直接解压到c盘下,(目录:C:\boost_1_49_0,如果你存放的目录与我不同,下面的步骤中也全都要改成你存放的目录)注意:步骤3)和步骤4)在Visual Studio 的命令提示框下完成命令提示框的打开方式(VS2008):开始->所有程序->Microsoft Visual Studio 2008->Visual Studio Tools->Visual Studio 2008 命令提示3)生成bjam:1、在命令提示框下输入cd C:\boost_1_49_02、在命令提示框下输入bootstrap.bat3、查看目录cd C:\boost_1_49_0,正确的话多了三样东西:b2.exe,bjam.exe,bootstrap.log4)编译所需要的库注意:这一步其实因人而异,看你需要用到boost下的多少个库,如果怕麻烦就全部编译(即在命令提示框下输入:bjam.exe)。

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库。

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

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。

第五步: 将bjam.exe复制或移动到boost的根目录下,即C:/boost_1_47_0下面。

第六步:将cmd命令中的目录跳到boost的根目录下,然后,输入bjam --toolset=msvc-10.0 --build-type=complete stage 回车,等待20多分钟,编译就完成了注意:整个操作过程中cmd命令窗口必须保证是开始打开的那个附1:cmd 目录跳转指令举例,例如,跳到d盘下的一个名为test的目录下,则输入cd d:\test按回车。

附2:最终生成的我们所需的文件在C:\boost_1_47_0\bin.v2\libs和C:\boost_1_47_0\stage\lib当中, bin.v2和stage目录及它们的子目录都是编译时自动创建的,为了使用方便,建议做以下处理:在bin.v2和stage目录下分别搜索后缀名为.dll和.lib的文件,然后就它们移动到一个新建目录下,比如boost_files文件夹下,然后在vc2010的工程目录下include项中包含C:\boost_1_47_0\bin.v2\libs,在lib 目录下包含boost_files目录(自己最后保存编译的dll和lib文件的目录)使用时,要在工程中包含相应的头文件。

最后申明:我是亲手实验每一步的过程所得结果,因为编译器版本和操作的原因,如您不能正常编译,请仔细检查原因或与给我留言。

其他版本也可用类似的方法进行编译1. 至/users/history/version_1_48_0.html下载boost最新版1.48.0;2. 解压缩后,运行bootstrap.bat批处理文件,得到bjam.exe;3. 进入VS2008的Command Prompt (方法:Tools -> Visual Studio 2008 Command Prompt),转到boost目录。

(例如,我的boost目录:D:\boost_1_48_0)4. 输入“bjam --toolset=msvc-9.0 --build-type=complete stage”后,等待约1小时,完成编译。

编译成的lib文件,放在stage\lib下,形如“libboost_program_options-vc90-sgd-1_48.lib”.备注:对于一般使用,可以选择编译boost库(毕竟完整编译需要时间还是比较长的),例如我一般编译如下几个boost常用库system, thread, date_time, filesystem, serialization,则相应的bjam命令如下:bjam --toolset=msvc-9.0 architecture=x86 address-model=64 --with-system--with-thread --with-date_time --with-filesystem --with-serialization其中:msvc-9.0代表编译成VC9.0(即VS2008)版本,对应的msvc-10.0代表编译成VC10.0(即VS2010)版本; address-model=64代表编译成64位版本,如省略此项,默认为编译成32位版本。

【原】Boost下载安装编译配置使用指南(含Windows和Linux)——更新于2011/7/19,目前我已对boost的安装和使用有了新的认识,因此也会对两年前写的这篇文章做大幅修改,网上转载版本泛滥,请以本文为准。

理论上,本文适用于boost的各个版本,尤其是最新版本1.47.0;适用于各种C++编译器,如VC6.0(部分库不支持),VS2003,VS2005,VS2008,VS2010,gcc,C++ Builder 等。

先总结一下Windows系统。

一、下载首先从boost官方主页/下载最新版boost安装包,或者使用Subversion 获取最新版本,地址是:/svn/boost/trunk。

本人现在一般都用svn,这样可以很方便的进行update和build,而不是每次都下载新的安装包并rebuild。

二、安装如果是使用下载的安装包,那么请将boost安装包解压至本地目录,如:E:\SDK\boost;如果是用svn的,也可以将boost的代码checkout到这个目录。

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

在命令提示符(cmd.exe)中执行根目录下的bootstrap.bat,编译后的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-graph --without-graph_parallel --without-math--without-mpi --without-python --without-serialization --without-wave--stagedir="E:\SDK\boost\bin\vc9" link=static runtime-link=shared runtime-link=static threading=multi debug release下面详细解释一下每个参数的含义:stage/install:stage表示只生成库(dll和lib),install还会生成包含头文件的include目录。

本人推荐使用stage,因为install生成的这个include目录实际就是boost安装包解压缩后的boost目录(E:\SDK\boost\boost,只比include目录多几个非hpp文件,都很小),所以可以直接使用,而且不同的IDE都可以使用同一套头文件,这样既节省编译时间,也节省硬盘空间。

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

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,表示编译生成文件的路径。

推荐给不同的IDE指定不同的目录,如VS2008对应的是E:\SDK\boost\bin\vc9,VC6对应的是E:\SDK\boost\bin\vc6,否则都生成到一个目录下面,难以管理。

如果使用了install 参数,那么还将生成头文件目录,vc9对应的就是E:\SDK\boost\bin\vc9\include\boost-1_46\boost,vc6类似(光这路径都这样累赘,还是使用stage好)。

build-dir:编译生成的中间文件的路径。

这个本人这里没用到,默认就在根目录(E:\SDK\boost)下,目录名为bin.v2,等编译完成后可将这个目录全部删除(没用了),所以不需要去设置。

相关文档
最新文档