首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

boost1.34.0用MinGW如何编译?小弟我随带文档编译不通啊

2012-02-20 
boost1.34.0用MinGW怎么编译?我随带文档编译不通啊。我想用install参数bjam--gcc--prefixE:\Boostinstall

boost1.34.0用MinGW怎么编译?我随带文档编译不通啊。
我想用install参数
bjam   --gcc   --prefix=E:\Boost   install
结果提示:.construct.什么的failed,于是我只用了
bjam   --gcc
开始编译,但是有20个skiped,为什么呢?
有谁遇到类似问题?给点经验啊,我的bjam也编译不成功是去下的。

[解决办法]
Boost在MinGW的编译安装手册

http://dozb.bokee.com/2055000.html

boost 版本不同,
但是大同小异,
参考一下。
[解决办法]
1、前提

a) 下载Boost_1_32_0源码包(http://sourceforge.net/project/showfiles.php?group_id=7586 ),由于在Windows平台下编译,我们可以选择下载boost_1_32_0.exe文件;

b) 安装Windows下的GCC版本(这里我们使用开源的GCC作为编译工具,因为其Free),我选择了MinGW-3.2.0-rc-3(http://sourceforge.net/forum/forum.php?forum_id=438862 );

c) 下载Boost专用build工具bjam,在Windows平台下我们可以得到已经编译好的bjam.exe(http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=72941 ),你可以 下载boost-jam-3.1.10-1-ntx86.zip文件。

 

2、目录结构

a) 运行下载后的boost_1_32_0.exe文件,选择解压缩到的目录即可。如D:\boost_1_32_0;

b) 将下载的bjam.exe拷贝到上述目录中。

 

3、设置环境变量

a) 由于默认情况下,MinGW会安装在C:\MinGW下,一旦你选择其他目录,你就需要自己设置Path。将%Your_MinGW_Install_Path%\bin加入到你的系统Path变量中。

 

4、Build

在命令行下进入到boost源码包存放的目录,如D:\boost_1_32_0,然后运行:

bjam “-sTOOLS=gcc” install

 

编译由此开始,如果你的系统没有装Python相关的东东,在编译的最开始会提示你一些warnings,无须理它,让它继续吧!默认的boost安装路径为C:\boost,我们这里采用默认路径。

 

5、Build结果

编译的过程是漫长的(一般配置的机器2小时左右),需要你耐心的等待。

编译后结果:在C:\Boost下生成两个文件夹include和lib,在D:\ boost_1_32_0中则多了一个bin目录。

 

6、应用boost

a) 设置boost库

如果你使用的IDE(比如Microsoft Visual Studio或者MinGW Developer Studio(http://petra.hos.u-szeged.hu/~aking/www.parinya.ca/download/MinGWStudioFullSetupPlus-2.05.exe )),你可以在IDE的include和lib路径中直接设置boost库的位置。如果你用的是命令行工具,对于复杂的项目构建估计你需要写你自己的Makefile了。

b) 使用boost的例子

 

//HelloBoost.cpp

#include <iostream>

#include <string>

#include <boost/tokenizer.hpp>

using namespace std;

using namespace boost;

 

int main()

{

string s = "Hello Boost,This is a test ";

tokenizer <> tok(s);

for(tokenizer <> ::iterator beg=tok.begin(); beg != tok.end(); ++beg)

{

cout < < *beg < < "\n ";

}

}

//Compile: g++ -o HelloBoost.exe HelloBoost.cpp -I "C:\Boost\include\boost-1_32 "

 

//output:

Hello

Boost

This

is

a

test
[解决办法]
1.34改了bjam格式了
要bjam -toolset=gcc
[解决办法]
我编译的时候没加--prefix=E:\Boost install,就直接过了。

[解决办法]
搜索一下*.a,*.dll,不是举手之牢嘛。
有兴趣就认真研究bjam --help。
[解决办法]
在Windows下面我把bjam.exe拷到boost的目录下,然后运行bjam.exe,提示几个warning后出现一个...found 1 target...然后就停掉了,不接着编译了,怎么回事啊,请高人指点
[解决办法]
boost里有N个库编不出来是很正常的,你想用的编译出来了就可以了。

[解决办法]
没啥好遗憾的,你不用的库编译过了也没意义,纯心理安慰。

热点排行