C++的boost库的编译安装
- 格式:docx
- 大小:36.23 KB
- 文档页数:11
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 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编译参数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是一个流行的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的配置基本信息:时间: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,可看到,如下的截图,说明编译成功。
注意,在编译中能会出现一些警告入文件找不到之类的,请忽略它。
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库在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是一个由一系列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库。
一、概述boost rtreeboost rtree是一个开源的C++库,用于实现R树数据结构。
R树是一种多维索引结构,用于高效地管理和查询多维空间中的数据。
boost rtree库提供了丰富的API和功能,可以帮助开发人员轻松地构建和操作R树索引,从而提高空间数据处理的效率和性能。
二、boost rtree的安装和配置1. 下载boost rtree库要使用boost rtree库,首先需要从其官方全球信息湾或GitHub仓库下载最新的版本。
可以选择下载源代码或预编译的二进制文件,根据自己的编译环境和需求进行选择。
2. 安装boost rtree库对于源代码版本的boost rtree,可以按照其提供的安装说明进行编译和安装。
对于预编译的二进制文件,可以直接将其包含到项目中,并设置好对应的信息和包含路径。
3. 配置boost rtree库安装完成后,需要根据项目的需求进行配置。
通常需要设置好头文件的包含路径和库文件的信息路径,以便编译器能够正确地找到并使用boost rtree库。
三、boost rtree的基本用法1. 创建R树索引使用boost rtree库可以轻松地创建R树索引。
开发人员可以指定R 树的维度、节点容量、分裂策略等参数,以及数据的存储类型和比较函数。
通过简单的API调用,就可以创建一个R树索引并初始化好。
2. 插入数据一旦创建了R树索引,就可以使用boost rtree库向其中插入数据。
开发人员可以通过API调用将数据对象插入到R树中,库会自动进行节点的分裂和调整,确保R树的平衡和性能。
3. 查询数据boost rtree库提供了丰富的查询功能,可以根据多种条件和参数进行范围查询、最近邻查询、k近邻查询等操作。
开发人员可以简单地调用API,即可实现复杂的数据查询功能。
4. 更新和删除数据除了插入和查询数据,boost rtree库还支持更新和删除数据。
开发人员可以通过API调用,对R树索引中的数据进行更新和删除操作,库会自动进行相应的调整和维护。
ubuntu 安装code blocks全记录(一)安装步骤:1.先把编译环境,C库、C++库和Boost库装好,如下:sudo apt-get install build-essential* 有可能安装build-essential 后gdb就已经安装过了sudo apt-get install gdb2. 在Ubuntu 软件中心中安装Code::Blocks IDE3. 安装Code::Blocks 的调试组件Valgrind 用来探测内存泄露的:sudo apt-get install valgrind4. 安装外围爱好者根据需要自行编译并贡献的软件sudo apt-get install codeblocks-contrib5. 安装wxWidgets 开发相关项:(注:安装前到上看一下最新版本) sudo apt-get install libwx*.debsudo apt-get install libwxbase2.8-dbgsudo apt-get install libwxbase2.8-devsudo apt-get install libwxgtk2.8-dbgsudo apt-get install libwxgtk2.8-devsudo apt-get install wx2.8-i18nsudo apt-get install wx2.8-docsudo apt-get install wx2.8-examplessudo apt-get install wx-common开始使用Code::Blocks了,应用程序->编程->Code::Blocks IDE。
Code::Blocks和wxWidgets整合非常好,几乎不用做任何额外的配置。
(三)更新codeblocks 10.05大概步骤:1.先进入“系统”--》“系统管理”--》“新立德软件包管理器“,搜索curl,双击选中,之后点“应用” 如下图:图片2.关闭“新立德软件包管理器“,打开:应用程序”--》“附件”--》“终端”输入:curl /key.asc | sudo apt-key add -回车。
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目录。
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是一个开源的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的install即安装:
解压你下载好的boost 程序到D 盘;
执行install 安装(运行D:\boost\boost_1_54_0\tools\build\v2 下面的bootstrap.bat 这个批处理文件)此时会弹出Building
Boost.Jam之类,过一会之后,源代码中新增了1个文件bjam.exe 路径D:\boost\boost_1_54_0;
运行bjame.exe即能编译了;
到此安装完成,以下为编译部分的方法:
打开vs程序里面的”Visual Studio命令提示”以下简称提示框; 在提示框窗口进入存放boost的位置(命令如下cd D:进入D 盘再次输入cd boost\boost_1_54_0);
访问帮助连接将连接网页上5.2.4里面的说明部分复制并粘贴到紧跟cd boost\boost_1_54_0之后的位置处,具体的说明如下: b2 --build-dir=build-directory toolset=toolset-name
--build-type=complete stage ;
注:a、本说明中的盘符、路径可根据具体存放的情况而定;b、上段说明文字中的build-directory是比存放解压好的boost 的位置;toolset-name是你要使用开发环境的类型具体可查看帮助说明的 5.2.2 ;。
Windows7(64位)下通过vs2010完整安装boost1.46.1(32位6...最新的boost库已经发布了1.46.1版本,但是我接触的比较晚,去年才开始接触并使用,第一次使用的是1.43版本,而且当时安装的时候没有进行完全安装(未包含mpi及python,只涉及32位版本)。
这几天重新研究了一下完整安装问题,以下针对Windows 7系统(64位)下通过vs2010完整安装boost 1.46.1(32位/64位)进行详细描述。
完整安装boost,需要涉及几个第三方库:1)Regex所需要的Unicode支持类库---ICU。
由于自己是使用C/C++,所以需要icu4c。
2)MPI所需要的类库---Boost的官方站点说需要MPICH或OpenMPI之类的支持,事实上在Windows下总是会提示需要MPIC++,你需要的是Microsoft Cluster Pack SDK,下载并默认安装在C:\ProgramFiles\Microsoft Compute Cluster Pack下。
(说明:如果安装Microsoft HPC Pack 2008 SDK或Microsoft Compute ClusterPack时不是装到默认的路径下,那bjam就会找不到mpic++的路径,这时候可以修改一下mpi.jam(在boost_1_46_1\tools\build\v2\tools目录中):local cluster_pack_path_native = "你的路径")。
3)Python所需要的Python语言库---Python。
以下先分步描述相关第三库的安装过程:1)ICU4Ca)当前icu4c最高版本为4.8,下载的源代码包为icu4c-4_8-src.tgz(个人偏向于通过源代码编译生成,这样会更灵活,比如有问题时可以调试);b)解压icu4c-4_8-src.tgz文件,进入icu\source\allinone子目录,用vs2010打开allinone.sln解决方案;c)分别按照Win32(32位程序)/x64(64位程序)下的Debug/Release模式进行编译,其Win32的Debug/Release库文件保存于icu\lib目录,x64的Debug/Release库文件保存于icu\lib64目录。
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,等编译完成后可将这个目录全部删除(没用了),所以不需要去设置。