搞了好几天今天晚上终于编译成功了,全部编译通过,2946个哈,
1、准备工作(STLport5.2.1,Boost_1_47_0) 下载STLport,boost库,空间预留多一点至少5个G吧,boost的lib有1.35GB,bin-v2是临时文件(有好几G),编译完了就可以删掉了。 2、STLport配置 用记事本打开C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\vcvarsall.bat(不知道我的为什么是vsvars32.bat,可能是版本问题吧,但一样操作), 把红色划线部分添加上,前面代表你的STLport的位置,后面一个可以在库文件的位置,他会自动建一个 然后,打开vs2005的命令行提示符,运行vcvarsall.bat, cd 你的STLport目录,使用configure msvc8 查看你的设置是否正确 然后,进入cd build\lib目录, 执行nmake /fmsvc.mak 接下来:nmake /fmsvc.mak install 接下来把上面c:\STLport\stlport、c:\STLport\lib添加到vs2005的vc目录路径,而且放在最上面 基本可以了,给个简单例子,试试:(VC自带的STL没有slist,只有安装成功了,才能编译成功)
#include <slist> #include <iostream> using namespace std;
int main(void) { slist<int> sl;
sl.push_front(11); sl.push_front(23); sl.push_front(39);
//打印单向链表元素 slist<int>::iterator i,iend; iend=sl.end(); for(i=sl.begin(); i!=iend; i++) cout << *i << ' ';
cout << endl; return 0; } 可以编译成功这个例子了,但是,运行的话:会说“丢失 stlported5.2.dll”; 所以,还需要把%STLport%\bin里面的所有文件都复制到vc的bin文件夹目录下; 如果没有则不用。
VS2005->Tool->Option->Projects and Solutions->Visual C++ Directories,选择Include files加上D:\STLport\stlport,记得放在第一个, 选择Library files加上D:\STLport\lib。 3、配置Boost_1_47_0 首先解压出Boost_1_47_0.zip重命名为boost,运行boost根目录下的bootstrap.bat,会产生一个bjam.exe 然后修改C:\boost\tools\build\v2,下的user-config.jam文件,将以下两个地方的替换成红线部分的内容 using msvc : 8.0 : : <compileflags>/wd4819 <compileflags>/D_CRT_SECURE_NO_DEPRECATE <compileflags>/D_SCL_SECURE_NO_DEPRECATE <compileflags>/D_SECURE_SCL=0 ; 注意这个地方前面要空格 using stlport : : c:/STLport/stlport:c:/STLport/lib ; 这个前面也要有空格 然后再次进入vs2005的cmd,进入boost根目录下,键入 然后就坐等编译!要好长时间。。。。 在工具-选项-vc++目录中的,包含文件,添加c:\boost; 库文件,添加,c:\boost\stage; 运行示例 #include "stdafx.h" using namespace std; int a=lexical_cast<int>("123"); |
Boost_1_47_0+STLpor+VS2005终于编译成功
最新推荐文章于 2021-01-19 11:18:01 发布