转载自:http://blog.csdn.net/roger_77/archive/2006/01/13/577998.aspx
最近要使用boost库来进行一些跨平台的开发,比如使用thread线程库来开发多线程的程序。在网上找了一下,大部分关于boost安装编译的文档是在VS2003.net环境下进行的,关于boost在VC6.0上进行编译的比较少,由于本人的主要开发环境是VC6.0,所以自己动手进行了下面的boost配置编译工作。
一.编译前的准备.
本人的VS6.0安装在“D:\Program Files\Microsoft Visual Studio”目录,下载boost的地址"http://prdownloads.sourceforge.net/boost/boost_1_33_1.zip?download",
boost解压后的根目录为:"D:\C++\boost_1_33_1",
可参考改为相应的目录即可。
二.编译步骤
1.修改“D:\C++\boost_1_33_1\tools\build\jam_src\build.bat”中的所有:
“C:\Program Files\Microsoft Visual Studio”为
“D:\Program Files\Microsoft Visual Studio”,也就是VS6.0的安装目录。
2.执行:“D:\C++\boost_1_33_1\tools\build\jam_src\build.bat”
产生一个子文件夹“bin.ntx86”,里面有个可执行文件"bjam.exe"。
3.拷贝这个可执行文件"bjam.exe"放到“D:\C++\boost_1_33_1”目录.
4.添加“D:\C++\boost_1_33_1”到操作系统的环境变量path中,
SET path="D:\C++\boost_1_33_1";%PATH%
5.打开控制台(cmd),在命令行执行后面的步骤.
5.1 先执行以下命令,设置VC编译环境:
SET MSVC_ROOT="D:\Program Files\Microsoft Visual Studio\VC98"
SET VISUALC="D:\Program Files\Microsoft Visual Studio\VC98"
SET JAM_TOOLSET=VISUALC
SET PYTHON_ROOT=D:\Program Files\Python2.2.2
SET PYTHON_VERSION=2.2
5.2 进入“D:\Program Files\Microsoft Visual Studio\VC98\bin"目录,
运行"VCVARS32.BAT”,
5.3 然后转到“D:\Program Files2\boost_1_33_1”目录,
最后运行下面的命令来编译boost库:(仍然是同一个控制台窗口!否则无效)
bjam -sBOOST_ROOT=. -sTOOLS=msvc "-sBUILD=debug release static/dynamic"
6.编译过程在boost的根目录下产生“bin\boost\libs”文件夹,约130兆;
整个过程约25分钟.
7.为了以后在项目中配置方便,把编译出来的*.lib,*.dll文件搜索出来后,
把这些文件统一放到一个自己新建的目录下,比如libs_vc6目录。
三.boost类库在VC6.0的IDE环境中的配置:
1.VC6.0中菜单选择
“Tools” -> “Options” -> “Diretories” -> “Show Diretories for”中的下拉框选择:
1) 在”Include files” 中添加boost根目录的路径,
2) 在”Source files” 中添加boost根目录的路径,
3) 在”Library files” 中添加刚才创建包含*.lib,*.dll文件的libs_vc6目录的路径,和“D:\C++\boost_1_33_1\libs”.
2.然后自己写个程序测试一下即可,比如:
#include <boost/lexical_cast.hpp>
#include <iostream>
int main()
{
using boost::lexical_cast;
int a = lexical_cast<int>("123");
double b = lexical_cast<double>("123.12");
std::cout<<a<<std::endl
std::cout<<b<<std::endl;
return 0;
}
-----------------------------------------------------------------
参考:
http://www.cdown.net/Info/32600.html
http://dev.csdn.net/develop/article/18/18225.shtm
http://www.boost.org/more/getting_started.html