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;

sgi_vector.push_back(12);

cout<

cout<

return 0;

}

总结:

可见搜索包含文件(.h)时,会根据“VC++目录”设置的顺序去搜索,检索到便

不再检索。所以使用SGI STL时,目录要设置在最开始,这样才可以使用第三方的STL。

相关文档
最新文档