Chinaunix首页 | 论坛 | 博客
  • 博客访问: 323134
  • 博文数量: 100
  • 博客积分: 2620
  • 博客等级: 少校
  • 技术积分: 920
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-16 02:50
文章分类

全部博文(100)

文章存档

2011年(5)

2010年(12)

2009年(83)

分类:

2009-10-22 13:48:03

boost最新版本下载地址:
;package_id=8041

下载boost_1_39_0.tar.gz   
tar -zxvf boost_1_39_0.tar.gz 

然后进入解压缩后的文件夹编译boost的编译器jam
cd boost_1_39_0\tools\jam
./build_dist.sh

编译完后在这个目录下有编译出的bjam文件
boost_1_39_0\tools\jam\stage\bin.linuxx86

把它copy到boost_1_39_0 然后在这个目录下运行命令编译:
./bjam "-sTOOLS=gcc" "--includedir=/usr/include" "--libdir=/usr/lib/boost" install

开始编译,等待编译完成,需很长时间。
关于bjam的后面的参数的设置:
-sTOOLS=gcc  指定编译器为GCC
--includedir=/usr/include/  指定头文件的安装目录,我安装在/usr/include下。如果安装成功,将在/usr/include/生成目录boost_1_33,该目录下就是boost的头文件目录
--libdir=/usr/lib/boost  指定boost的库文件的存放位置, 生成的 .a .so 文件将放在该目录下
install 编译并安装boost
 
最基本的测试程序:
(1)autotest.cpp
#define BOOST_AUTO_TEST_MAIN
#include
BOOST_AUTO_TEST_CASE(test)
{
BOOST_CHECK(true);
}
编译autotest.cpp
g++ autotest.cpp -L/usr/lib/boost -lboost_unit_test_framework -lboost_test_exec_monitor-gcc41-mt-1_39
 
(2)unitest.cpp
 
#include
#include
using namespace std;
using boost::unit_test::test_suite;
void force_division_by_zero()
{
 BOOST_CHECKPOINT("About to force division by zero");
 int i =1, j = 0;
 i = i / j;
}
void infinite_loop()
{
#ifdef __unix
 BOOST_CHECKPOINT("About to enter infinite loop");
 while(1);
#else
 BOOST_MESSAGE("Timeout support is not implemented on your platform");
#endif
}
test_suite* init_unit_test_suite(int argc,char* argv[])
{
 test_suite* test = BOOST_TEST_SUITE("unit test example");
 test->add(BOOST_TEST_CASE(&force_division_by_zero));
 test->add(BOOST_TEST_CASE(&infinite_loop),0,2);
 return test;
}
编译:
g++ unitest.cpp -L/usr/lib/boost/ -lboost_unit_test_framework
阅读(3244) | 评论(0) | 转发(0) |
0

上一篇:收藏的wxpython计算器code

下一篇:一句话

给主人留下些什么吧!~~