当前位置:天才代写 > tutorial > C语言/C++ 教程 > C++ Builder 2007中安装boost_1_36_0的要领

C++ Builder 2007中安装boost_1_36_0的要领

2017-11-03 08:00 星期五 所属: C语言/C++ 教程 浏览:376

副标题#e#

最近溘然对boost产生了乐趣,可是boost安装很是贫苦,网上先容的要领大 都不全面,搜到了一篇关于在其它编译器安装boost的要领,试着改为 C++Builder2007合用的要领和各人分享,宣布这篇文章之前只做过简朴测试,如 有问题,请指出。

安装时我的电脑只安装了CodeGear RAD Studio2007, 没有安装VS等其它编译东西,假如你的电脑同时安装了其它编译东西,你需要谨 慎,虽然是否有问题我也不知道,你本身研究吧,把最后的功效贴出来各人分享 。

1.相关网址 官方网站:http://www.boost.org/

2. 筹备

您可以上boost官方网站(参看1.相关网址),下载这两个文件(既然是 免费,照旧官方的好):

boost 1.36.0 的源代码压缩文件,推荐下载 7zip 版本:boost_1_36_0.7z“。

boost 编译东西,请选择 windows下的可执行文件:boost-jam-3.1.16-1-ntx86.zip下载后,获得源代码 压缩文件,假如是7zip名目标“boost_1_36_0.7z”,约25M,解压后 ,将迅速变为175M,但这仅仅是源代码及文档的巨细,在编译进程中,所需的空 间更是惊人,请您担保解压缩后文件地址的磁盘驱动器,至少有2个G的可用空间 (有人说需要更大的空间,不外我用了不到1.9G)。

boost 的编译东西 ,可以按照需要,将编译之后库文件,及不需要编译的头文件,统一复制到指定 的目次,这样有利于我们获得一个“清洁”的boost编译功效目次, 本文将回收此要领。

下面,我们假设boost_1_36_0.7z被解压到 “X:\tmp\boost_1_36_0”目次下,个中“X:”暗示您选用的磁盘驱动器盘符, "tmp" 是我们事先建设的文件夹,而 “boost_1_36_0”则在解压以 后获得。我们把“X:\tmp\ boost_1_36_0”称为“boost安装源路 径”。

接下来,假设我们但愿它boost安装到“E:\boost_1_36_0”目次 下,请事先建设好这个文件夹,我们把这个路径,称为“boost安装方针路 径”。

请解压“boost-jam-3.1.16-1-ntx86.zip”文件,获得bjam.exe ,将它复制到boost安装源路径,即“X:\tmp\boost_1_36_0”之下。

3. 编译

步调1:打开“开始”菜单,选择“运行 ”,输入cmd,进入节制台窗口,然后在其内通过cd呼吁,切换到boost安 装源路径下。本例中为:

“X:\tmp\boost_1_36_0”,则进程 如下:

X:(回车)

cd tmp\boost_1_36_0 (回车)

步调2:继承上步,请在节制台内输入:

bjam ——show- libraries (回车)


#p#副标题#e#

步调3:正确环境下,将看到以下输出内容:

The following libraries require building:

- date_time

- filesystem

- function_types

- graph

- iostreams

- math

- mpi

- program

_options

- python

- regex

- serialization

- signals

- system

- test

- thread

- wave

步调4:这里列出的是所有需要编译的boost模块,但我们将 放弃对以下模块的编译:wave、mpi、 python、math、graph.这些模块的详细含 义,各人如有需要,请自行查明。

步调5:继承上步,在节制台内输入:bjam install -- toolset=borland --prefix="E:\boost_1_36_0" debug --without- wave --without-mpi --without-python --without-math --without-graph (回 车)

假如你要全部编译就去掉without

bjam install –toolset=borland –prefix="E:\boost_1_36_0" debug(回车)

步调6:请出格留意,要改换为您本身的“boost安装方针路径” 。其它部门作如下说明:

步调7:—— 是两个持续的减号,= 前后均不能夹带空格,除路径之外,参数都是小写字母。

步调8: ——toolset 暗示回收borland编译。因此,要正确编译boost,请您 必然事先已安装C++Builer2007.

步调9:debug暗示我们首先编译“ 调试版”。此刻许多人在安装boost后,利用时老是提示缺少某个带 “-d-”的lib文件,实际就是缺少这一步,它是C++Builder2007在 debug时所需要的。

步调10:多个 ——without 指定了所要 放弃编译的模块。你也可以按照你的需要,在此增加或去掉某个模块。

步调11:回车后,节制台内将呈现大量看似奇奇怪怪地文字,最后能看到以下内 容,就暗示乐成完本钱步:

……failed updating 2 targets.

……skipped 31 targets……

……updated 341 targets……

这个需要较量长的时间,你可以休息一下,做 点其它事,时间多长取决于你的计较机。我花了15分钟阁下。

#p#副标题#e#

4. release版本

#p#分页标题#e#

在节制台内输入:bjam install --toolset=borland -- prefix="E:\boost_1_36_0" release --without-wave --without- mpi --without-python --without-math --without-graph (回车)

改变的是“debug”改换为“release”。回车后开始 刊行版的boost库编译。此刻网上提供的要领大多都是这一步编译出的lib文件, 即文件名不带“-d-”的lib文件,假如你需要将你的项目release就 需要这一步。

耗费的时间和debug差不多。

5. 越发完美假如你要 完全宣布你的项目,那你需要这一步,不然你会获得缺少某个文件名中带有 “-s-”的lib文件的提示。

假如您的硬盘尚有很大的空闲, 您可以完整地编译boost.假如你只是研究boost,你不需要这一步。

boost完全编译需要较量长的期待,并且在空间需要的也较量多。我用了 一个小时阁下,时间是非取决于你的系统。

完整编译boost的呼吁行:

bjam install ——toolset=borland ——prefix="您的\boost\安装\方针路径" ——build-type=complete

6. 说明

查抄“boost安装方针路径”,应该可以看到两个 子目次位于其内:“include”及“lib”,前者生存着所 有回收纯头文件形式提供的boost代码文件;后者则保存着上一步的编译功效, 这些库文件首先可以区分为以下三种形式:

“动态链接库” ,扩展名以。dll竣事“导入库”,扩展名以。lib竣事,且文件名以 版本号1_36竣事“静态链接库”,以扩展名。lib竣事。

然后 三种形式再次区分为“刊行版”和“调试版”,后者的文 件名比前者多出一个“-d-”修饰。别的我们还可以看到所有库文件 名中都带有“-mt-”字样,这是暗示这些库都支持“多线程/ Multithreads”。

请生存“boost_1_36_0.7z”及 “boost-jam-3.1.16-1-ntx86.zip”两个文件,然后,发起您将 “boost安装源路径”下的doc文件夹——这是boost的说 明文档——复制到“boost安装方针路径”下,然后,您 可以安心地删除“boost安装源路径”。

7. 竣事打开 C++Builder2007.

7.1. Project-Default Options-C++Builder配置。在Include Path添加 前面的“include\boost-1_36”地址的目次,在Library Path添加 “lib”地址的目次。

7.2. Tools-Options配置。

C++Options-Paths and Directories. 在此如上步配置。

终于竣事了,很是感激那些在网上无偿宣布技能的大 佬们,是你们让这个世界变得越发花团锦簇。在此也藐视一下微软的黑屏打算, 支持一下番茄花圃,固然这是微不敷道的。

#p#副标题#e#

测试一下你的安装。 #include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//#include <boost/regex.hpp>
#include <boost/regex.hpp>
//------------------------------------------------------- --------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//------------------------------------------------------- --------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//------------------------------------------------------- --------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
boost::regex reg("(I.*)");
bool b=boost::regex_match( "I love ydlchina.", reg);
if(b==true)
ShowMessage("天哪,你乐成了!");
}
//------------------------------------------------------- --------------------

在debug下运行试试,再在release试试。 (记得还要在Project Manager或Configuration Manager选release,只有这样 测试才完全)

 

    关键字:

天才代写-代写联系方式