1. 准备好boost编译文件;
2.(我放在D:/cpp目录下)解压到当前文件夹
3.打开VS2010->VS TOOLS->VS命令提示
4.CD D:/cpp/boost_1_46_1
5.输入bootstrap,便生成bjam.exe文件
6.输入bjam --toolset=msvc-10.0 variant=debug,release threading=multi link=static,便生成boost库(20多分钟,时间已经算很短了,之前都是1,2个小时应该是跟这个参数有关,编译完成后为1G多一点,之前都是3.7G左右)
如果要完全编译,可以用如下命令(这个是vs2008环境)
D:\>bjam --toolset=msvc-9.0 --build-type=complete stage
其中“--toolset=msvc-9.0”表示编译成VS 9.0版本,因为VS 2008为VS 9.0版本,如果是VS 2010,则用“--toolset=msvc-10.0”参数。
--build-type=complete stage即为完全编译
编译是很漫长的过程,如果你只需要使用Boost库的一部分,可以选择性地编译。比如你只想用system,thread库,则输入:
D:\>bjam --toolset=msvc-9.0 --with-system -with-thread
7.修改VS2010的参数 在项目的组合显示那找到属性页,打开属性页,选择配置属性,选择VC++目录,设置includepath和libpath,
如我的为D:/cpp/boost_1_46_1;$(IncludePath)
D:/cpp/boost_1_46_1/stage/lib;$(LibraryPath)
对于vs2008的参数配置如下:
在菜单栏的“工具”——“选项”——“项目和解决方案”——“VC++目录”,“平台”选择“Win32”。
“显示以下内容的目录”选择“库文件”,点击“新建”按钮,文件夹选择“E:\boost_1_48_0\stage\lib”。
“显示以下内容的目录”选择“包含文件”,点击“新建”按钮,文件夹选择“E\boost_1_48_0”。
1.#include <boost/lexical_cast.hpp>
2.#include <iostream> 3.
4.using namespace std; 5.
6.int main() 7.{
8. using boost::lexical_cast; 9.
10. int a=lexical_cast<int>("123"); 11. double b=lexical_cast<double>("123.0123456789"); 12. string s0=lexical_cast<string>(a);
13. string s1=lexical_cast<string>(b);
14. cout<<"number: "<<a<<" "<<b<<endl; 15. cout<<"string: "<<s0<<" "<<s1<<endl; 16. int c=0; 17. try{ 18. c=lexical_cast<int>("abcd"); 19. }
20. catch(boost::bad_lexical_cast& e){ 21. cout<<e.what()<<endl;
22. }
23.
24. return 0; 25.}
本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2012-01/51941p2.htm