VC6环境下安装Boost

来源:互联网 发布:编程到底是什么 编辑:程序博客网 时间:2024/06/17 06:04

一、准备工作:

1). 安装Python. 安装包可从https://www.python.org/获得. 

2). 设置vc6相关环境变量。具体做法为:运行cmd.exe,进入VC6安装目录下的Bin文件夹(比如“C:/Program Files/Microsoft Visual Studio/VC98/Bin”),运行VCVARS32.BAT即可完成注册.


二、编译并安装Boost.

1). 在http://www.boost.org/users/history/选择合适的版本进行下载。(此处以1.33.1为例)

2). 将安装包解压到某个目录,如“D:\InstallFiles\Boost\boost_1_33_1”.

3). 如果你的VC安装目录不是“C:/Program Files/Microsoft Visual Studio/VC98”,则需要修改“D:\InstallFiles\Boost\boost_1_33_1\tools\build\jam_src”目录下的build.bat脚本.

    *可用记事本将其打开,找到如下内容:

    if EXIST "C:/Program Files/Microsoft Visual Studio/VC98/bin/VCVARS32.BAT" (
      set BOOST_JAM_TOOLSET=msvc
      set BOOST_JAM_TOOLSET_ROOT=C:/Program Files/Microsoft Visual Studio/VC98/

    然后将标为红色的两个路径修改为本机对应的路径即可。

4). 运行cmd.exe,进入“D:\InstallFiles\Boost\boost_1_33_1\tools\build\jam_src”目录,运行build.bat脚本. 此脚本会当前目录下生成一个名为bin.ntx86的文件夹,里面包含一个bjam.exe可执行文件,将其拷贝到“D:\InstallFiles\Boost\boost_1_33_1\”目录。

5).在cmd下切换到“D:\InstallFiles\Boost\boost_1_33_1\”目录,设置一些临时环境变量,运行如下命令即可:

SET MSVC_ROOT="C:/Program Files/Microsoft Visual Studio/VC98
SET VISUALC="C:/Program Files/Microsoft Visual Studio/VC98
SET JAM_TOOLSET=VISUALC
SET PYTHON_ROOT=D:/Program Files/Python23
SET PYTHON_VERSION=2.3

(注意将红色部分修改为本机对应的目录及python版本号.)

6). 编译及安装。运行命令:

bjam -sTOOLS=msvc install

(此命令会在C:/Boost目录下生成头文件及lib文件)

7). 在VC6环境中配置使用Boost:

打开VC6,打开“Tools” -> "Options"菜单项,在弹出的设置窗口中选择“Directories”选项卡。

在“Show directories for”下拉框中选择"Include files",然后添加“C:/BOOST/INCLUDE/BOOST-1_33_1”目录;

在“Show directories for”下拉框中选择"Library files",然后添加“C:/BOOST/lib”目录;


三、试用

Boost库的大部分组件是实现在头文件中的,所以并不需要编译。但是少数库,比如Regex,就需要编译。所以此处测试一下Regex库的使用,可确认Boost的编译安装是否成功。

示例代码:

/**********************//* RegexTest.cpp     *//**********************/#include <iostream>#include <boost/regex.hpp>// 匹配邮箱地址.boost::regex expression("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");int main(int argc, char* argv[]){char szInput[64];boost::cmatch what;std::cout << "请输入一个邮箱地址:" <<std::endl;while(true){std::cin.getline(szInput, 64, '\n');if(boost::regex_match(szInput, what, expression)){std::cout<<"谢谢,再见不联系。"<<std::endl;break;}else{std::cout<<std::endl<<"格式错误!再来:"<<std::endl;}}return 0;}


运行结果:


=================================End=========================================


0 0
原创粉丝点击