Boost环境的配置与使用
开发环境:CodeBlocks boost1.46
注:由于时间过长,不知道原作者是谁,在这里说声抱歉,请恕没有写上原作者大名,同时也对极少部分内容做了更改。
编译boost库可参见boost库编译
1、(如果已经编译过了boost库这步可以跳过)根据文档中的bjam.exe编译Boost1.46,将bjam.exe放入解压好的文件中,执行如下语句:
bjam install --toolset=gcc--prefix="c:\boost"
bjam install --toolset=gcc--prefix="c:\boost" release --build-type=complete
2、编译器的配置:
Settings->Global Variable Editor :
CurrentVariable: boost
Base:C:\Boost
Include:c:\Boost\include\boost-1_46_1
Lib:c:\Boost\lib
3、Settings->Compiler and debugger settings:
在Compiler settings选项卡里面的第3个选项卡#defines 加入MINGW32
在Search directories选项卡里面的Compiler中加入C:\Boost\include\boost-1_46_1和Linker中加入C:\Boost\lib
4、Project->Build options:
在Linker settings选项卡中的Link libraries:C:\CodeBlocks\MinGW\lib\libws2_32.a,C:\Boost\lib\libboost_system-mgw44-mt-1_46_1.a,C:\Boost\lib\libboost_thread-mgw44-mt-1_46_1.a
在Search directories选项卡中的Compiler加入$(#boost.include)和Linker加入$(#boost.lib)
5、(可以不做)将config.hpp放入C:\Boost\include\boost-1_46_1\boost\thread\detail下面,并覆盖已经存在的文件;
找到defined(BOOST_MSVC)此位置在后面加入 ||defined(MINGW32)
6、main.cpp测试样例程序内容;
#include <iostream>
#include <boost/asio.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/thread/thread.hpp>
void hello()
{
std::cout <<"Hello world, I'm athread!"<< std::endl;
}
int main(int argc, char* argv[])
{
boost::asio::io_service io;
boost::asio::deadline_timer t(io, boost::posix_time::seconds(5));
t.wait();
std::cout << "Hello, world! ";
boost::thread thrd(&hello);
thrd.join();
return 0;
}