VC6编译出现cl.exe出错。该如何解决??
小白求教。本来用得好好的,忽然就编译总是一个出错
推荐到广播
223 人聚集在这个小组
(开罗游戏爱好者)
(美好生活)
第三方登录:Windows VC6编译***Boost库|WindowsXP,VC6.0,编译,***,B...
我的图书馆
Windows VC6编译***Boost库|WindowsXP,VC6.0,编译,***,B...
首先从Boost的老巢下载。下载完成以后是一个***文件(其实就是进行自动解压缩的)。选择你的目录解压缩Boost库。然后我们开始对其进行编译我所下载的版本是1.33.1。
2.进入***VC的目录例如c:\Program&Files\Microsoft&Visual&Studio\VC98\Bin目录
3.运行VCVARS32.BAT(这个操作的作用是对此控制台注册VC的环境变量,这样我们就可以在任意目录使用cl进行编译程序)。
4.进入Boost的目录例如c:\boost_1_33_1\tools\build\jam_src
5.修改build.bat脚本的参数(如果必要的话,你的***目录不是c:盘)
&&&将原参数
&&&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\&&&goto&:eof)
&&修改为(就是你的VC6.0***的目录,我这里举个例子)
&&&if&EXIST&"D:\Program&Files\Microsoft&Visual&Studio\VC98\bin\VCVARS32.BAT"&(&&&&&&set&BOOST_JAM_TOOLSET=msvc&&&&&&set&BOOST_JAM_TOOLSET_ROOT=D:\Program&Files\Microsoft&Visual&Studio\VC98\&&&goto&:eof)
6.在刚才打开的控制台下运行
&&D:\d\boost_1_33_1\tools\build\jam_src\build.bat
&&最终会在目录下生成一个名为bin.ntx86的文件夹里面包含一个bjam.exe可执行文件,将其拷贝到D:\boost_1_33_1目录下
7.***python可以在
8.设置环境变量
SET&MSVC_ROOT="c:\Program&Files\Microsoft&Visual&Studio\VC98"&SET&VISUALC="c:\Program&Files\Microsoft&Visual&Studio\VC98"&SET&JAM_TOOLSET=VISUALCSET&PYTHON_ROOT=D:\Program&Files\Python23SET&PYTHON_VERSION=2.3
bjam&-sTOOLS=msvc&install(将会***在默认目录C:\Boost)
这样编译就完成了
10.boost类库在VC6.0的IDE环境中的配置
Tools”&-&&“Options”&-&&“Diretories”&-&&“Show&Diretories&for”中的下拉框选择:1)&在Include&files&中添加C:\BOOST\INCLUDE\BOOST-1_33_1\BOOST目录。2)&在Library&files&&中添加C:\BOOST\LIB目录。
如果你不能确定,你的编译是否成功。就需要进行一下测试,拿正则表达式类为例。
测试如下程序
#include&"stdafx.h"#include&&cstdlibinclude&&stdlib.hinclude&&boost/regex.hppinclude&&stringinclude&&iostream&
using&namespace&using&namespace&
regex&expression("^select&([a-zA-Z]*)&from&([a-zA-Z]*)");
int&main(int&argc,&char*&argv[]){&&&&&std::string&&&&&&cmatch&&&&&&cout&&&&"enter&test&string"&&&&&&&&&getline(cin,in);&&&&&if(regex_match(in.c_str(),&what,&expression))&&&&&{&&&&&&&&&&&for(int&i=0;i&what.size();i++)&&&&&&&&&&&cout&&"str&:"&&what[i].str()&&&&&&&}&&&&&else&&&&&{&&&&&&&&cout&&"Error&Input"&&&&&&&}&&&&&&&&return&0;}
输入:select&name&from&
输出:str:select&name&from&table &str:name &str:table这样就完成了
单个库编译方法:(以regex为例)
编译boost.regex的另一种办法&1.运行vcvars32.bat,可以帮助设置好vc命令行环境&2.cd&boost_1_33_1\libs\regex\build&3.nmake&-vc6.mak
这种方式可以只编译regex&这时会在当前目录下生成vc6目录,里面有已编译好的lib和dll文件,&这样以后的步骤中可以设置regex库时指向这里,&包含文件需要设置到boost_1_33_1目录&另修正补充:&用bjam编译regex时,选项-sTOOLS=vc7中vc7改成vc71,否则下面最终生成工程时需要改个文件名(&libboost_regex-vc7-mt-sgd-1_33_1.lib&-&&libboost_regex-vc71-mt-sgd-1_33_1.lib)
点评: 按照这个方法基本成功 编译库,大部分库编译成功,由于我主要是用boost.regex& 组件 ,这个库是
成功得,测试通过,其它得库未测试,由于我编译得是1.34.0版本 文件得位置和此文说得不一样 ,build.bat 文件只需要修改一处 if "_%ProgramFiles%_" == "__" set ProgramFiles=F:\
设置正确得ProgramFiles变量。
设置变量的方法:cmd.exe& set& xxx=yyy
有点疑问的地方 yyy 是否要带引号 待以后解决?
TA的最新馆藏