VS2008下安装SGI_STL
VS2008下安装SGI STL
1、https://www.360docs.net/doc/5d4583017.html,/download.html下载stlport 5.2.1
2、把“X:\Program Files\Microsoft Visual Studio\VC98\Bin”添加到环境变量中。
3、执行命令configure msvc9配置编译环境。
4、运行X:\Program Files\Microsoft Visual Studio 9.0\VC中的vcvars32.bat.如果正确会出现set environment for using Microsoft Visual Studio 2008 x86 to ols。
5、运行“Visual Studio 2008 Command Prompt”,执行命令cd E:\Develop Ki t\STLport-5.2.1进入STLPort的根目录“E:\Develop Kit\STLport-5.2.1”。
6、输入命令nmake /fmsvc.mak clean install。如果正确会出现很长一段编译,请耐心等待。成功后E:\Develop Kit\STLport-5.2.1目录下会增加两个目录(bin和lib)。
7、把bin目录里的stlport.5.2.dll, stlportd.5.2.dll, stlportstld.5.2.dll 复制到系统p ath的目录(X:\Program Files\Microsoft Visual Studio 9.0\VC\bin)里去。
8、在vs2008中包含头文件和库文件。
9、使用《STL源码剖析》中的例子测试一下
#include
#include
using namespace std;
int main()
{
crope bigstr1("It look me about one hour");
crope bigstr2("to plug the STLport into Visual Studio 2008");
crope story = bigstr1 + bigstr2;
cout << story << endl;
return 0;
};
此时,查看crope的定义
路径已经是新配置的SGISTL了。
运行:
转自https://www.360docs.net/doc/5d4583017.html,/art/1222068 下面是亲测结果。
同样地,使用的vector模板为SGISTL。
附录1
STLport
最初源于俄国人Boris Fomitchev的一个开发项目,主要用于将SGI STL的基本代码移植到其他诸如C++Builder或者是Visual C++这样的主流编译器上。因为SGI STL属于开放源码,所以STLpo rt才有权这样做。目前STLport的最新版本是4.5。STLport已经被C/C++技术委员会接受成为工业标准,且在许多平台上都支持。根据测试STLport的效率比VC中的STL要快。
附录2
VS2008 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
1. 添加编译所需要(依赖)的lib 文件
[解决方案资源管理器]“项目->属性->配置属性->连接器->输入->附加依赖项”里填写“winsock.lib”,多个lib 以空格隔开。
(等同于“#pragma comment(lib, "winsock.lib") ”语句)
2. 添加库(Libs)文件目录
方法1:[解决方案资源管理器]“项目->属性->配置属性->连接器->常规->附加库目录”方法2:[菜单]“工具->选项->项目和解决方案->C++ 目录”,选择对应平台,然后添加所需“库文件”目录
3. 添加包含(include)文件目录
方法1:[解决方案资源管理器]“项目->属性->配置属性->C/C++->常规->附加包含目录”
方法2:[菜单]“工具->选项->项目和解决方案->C++ 目录”,选择对应平台,然后添加所需“包括文件”目录
附录3
Vs2008如何处理同名包含文件。(高手勿喷~~)
路径设置:
#include
#include
#include
#include
using namespace std;
int main()
{
crope bigstr1("It look me about one hour");
crope bigstr2("to plug the STLport into Visual Studio 2008");
crope story = bigstr1 + bigstr2;
cout << story << endl;
vector
sgi_vector.push_back(12);
cout< cout< return 0; } 总结: 可见搜索包含文件(.h)时,会根据“VC++目录”设置的顺序去搜索,检索到便 不再检索。所以使用SGI STL时,目录要设置在最开始,这样才可以使用第三方的STL。