windows 下编译 Boost 1.50 + Visual Studio 2008

来源:互联网 发布:网络王炸是什么意思 编辑:程序博客网 时间:2024/05/20 07:32

 

1、在c盘创建一个文件夹boost_1_50_0

2、下载最新的boost 库1.50到d盘,文件夹为boost_1_50_0

3、整个文件夹如下:

D:\>cd boost_1_50_0D:\boost_1_50_0>dir Volume in drive D is D Volume Serial Number is 7CF4-5846 Directory of D:\boost_1_50_02012/07/19  21:13    <DIR>          .2012/07/19  21:13    <DIR>          ..2012/07/19  21:10    <DIR>          boost2012/05/27  03:33               866 boost-build.jam2012/05/27  03:33             1,054 boost.css2012/05/27  03:33             6,308 boost.png2012/06/26  22:07            18,606 boostcpp.jam2012/05/27  03:33             2,545 bootstrap.bat2012/05/27  03:33            10,324 bootstrap.sh2012/07/19  21:10    <DIR>          doc2012/05/27  03:33               794 index.htm2012/05/27  03:33             5,848 index.html2012/05/27  03:33               298 INSTALL2012/05/27  03:33            10,423 Jamroot2012/07/19  21:13    <DIR>          libs2012/05/27  03:33             1,361 LICENSE_1_0.txt2012/07/19  21:13    <DIR>          more2012/05/27  03:33             2,757 rst.css2012/07/19  21:13    <DIR>          status2012/07/19  21:13    <DIR>          tools              12 File(s)         61,184 bytes               8 Dir(s)  52,751,728,640 bytes freeD:\boost_1_50_0>


 

4、开启vc2008的自带的cmd工具,开始如下操作:

D:\boost_1_50_0>cd tools\build\v2D:\boost_1_50_0\tools\build\v2>bootstrap.batBootstrapping the build engineBootstrapping is done. To build, run:    .\b2 --prefix=DIR installD:\boost_1_50_0\tools\build\v2>


 

5、不要按照它的操作提示来,我们回到根目录,执行b2.exe操作,这个操作需要到根目录下面做,自然就要使用相对路径call b2.exe,同时指定编译工具为msvc 9.0,以后安装的路径,c:\boost_1_50_0:

D:\boost_1_50_0\tools\build\v2>cd ../../..D:\boost_1_50_0>tools\build\v2\b2.exe toolset=msvc-9.0 --build-type=complete --prefix="c:\boost_1_50_0" stagePerforming configuration checks


6、执行安装过程:

D:\boost_1_50_0>tools\build\v2\b2.exe toolset=msvc-9.0 --build-type=complete --prefix="c:\boost_1_50_0" install


 

一切ok。

 

下一步就是测试是否ok了。

 

添加vc项目头文件和lib路径:

 

测试一个网络上下载的的代码:

 

#include <iostream>#include <boost/asio.hpp>#include <boost/date_time/posix_time/posix_time.hpp>boost::asio::io_service io;boost::asio::deadline_timer t(io, boost::posix_time::seconds(5));boost::asio::deadline_timer t1(io, boost::posix_time::seconds(3));void print(const boost::system::error_code& e)//要求回调函数必须具有该参数{    if (e)    {        std::cout << "Hello, error!/n";    }    std::cout << "Hello, world!/n";}void cancel(const boost::system::error_code&){    t.cancel();}int main(){    t.async_wait(print);    t1.async_wait(cancel);    io.run();    return 0;}


 

原创粉丝点击