VC6.0、VS2005、VS2008安装STLport-5.2.1(转)
来源:互联网 发布:与人工智能相关的专业 编辑:程序博客网 时间:2024/05/15 11:24
最近在帮人做的一个项目中用到了STL;我自己使用的是VS2005,后来移植到VC6.0的时候,出现了很离奇的错误,就怀疑是VC的STL版本出了问题.从网上找到了 STLport-5.2.1,但是不会安装,于是从网上找到了这篇文章,按照其中的步骤顺利的进行了安装,然后果真顺利的解决了问题! 顺便说一句:如果有人使用老旧的VC6.0出现了问题,可不要总是怀疑自己的代码有问题呀!那个东西本身是有很大的Bug的。可以尝试更换开发环境,或者对其进行必要的升级改造~ 感谢作者“北极狐”,特转载其文章于自己的空间中收藏: 今天为了装STLport,搞了很久,主要是新版本以致搞VC6.0时,有很多要注意的。 前文: 下载STLport源代码,解压到一个目录,例如:F:/Program Files/STLport-5.2.1。下面都用 %STLport% 表示解压的完全路径。 (一)、VC6.0安装STLport-5.2.1: (注意:下面的步骤都在一个cmd里操作,很简单的原因:环境变量啊) 1、首先在…/Microsoft Visual Studio/VC98/Bin/VCVARS32.BAT中, 把%STLport%/stlport; ,(注意有英文的分号) 加入Include路径中;把%STLport%/lib; ,加入Lib路径中;(这里现在%STLport%下没有lib子目录,先加上去,一会编译会生成的)下面是的我: set INCLUDE=F:/Program Files/STLport-5.2.1/stlport;%MSVCDir%/ATL/INCLUDE;%MSVCDir%/INCLUDE;%MSVCDir%/MFC/INCLUDE;%INCLUDE% set LIB=F:/Program Files/STLport-5.2.1/lib;%MSVCDir%/LIB;%MSVCDir%/MFC/LIB;%LIB% 2、打开cmd,运行刚才的这个VCVARS32.BAT;进入%STLport%, 运行configure --help,看一下;运行configure msvc6,正确的话,会有: STLport Configuration Tool for Windows Setting compiler: Microsoft Visual C++ 6.0 Setting platform: Windows XP Done configuring STLport. Go to build/lib folder and type "nmake clean install" to build and install STLport to the "lib" and "bin" folders. Go to build/test/unit folder and type nmake clean install to build unit tests and install them in bin folder. 注意:这里不要按网上很多人说的运行:configure -c msvc6,会有问题的,我就是被困在这儿很长时间的;这个应该是老一点的版本的方式。还有就是这个configure也不是在%STLport%/build/lib下进行的,网上都这样讲,但是%STLport%/build/lib下没有configure啊! 3、接下来先进入%STLport%/build/lib ;执行nmake /fmsvc.mak,这个要等一段时间;之后,执行nmake /fmsvc.mak install,是一些copy动作。 4、主要是上面的步骤,后面的就是配置VC6.0了: A、Tools -> Options -> Directories,选“Include files”,增加%STLport%/stlport,并移至顶端;不移至顶端,还是会用原来VC自带的STL; 选“Library files”,增加%STLport%/lib,并移至顶端; B、Project -> Settings -> C/C++, 在Category中选 “C++ Language”, 勾选”Enable exception handling”(这个最好选一下);在Category中选”Code Generation”, 在Use run-time library中选”Debug Mulithreaded”(这个Release版选” Mulithreaded”); 基本可以了,给个简单例子,试试:(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; } C、上面可以编译成功,当然你可以运程序;但是,问题来了,你在上面任意地方加一个“空格”(或是变动一下程序)重新编译,死活都不行了,这是编译器给的提示,你的提示应该差不多: --------------------Configuration: main - Win32 Debug-------------------- Compiling... main.cpp f:/program files/stlport-5.2.1/stlport/stl/_num_put.c(494) : fatal error C1001: INTERNAL COMPILER ERROR (compiler file 'msc1.cpp', line 1794) Please choose the Technical Support command on the Visual C++ Help menu, or open the Technical Support help file for more information Command line warning D4028 : minimal rebuild failure, reverting to normal build Error executing cl.exe. Creating browse info file... BSCMAKE: warning BK4503 : minor error in .SBR file './Debug/main.sbr' ignored BSCMAKE: warning BK4503 : minor error in .SBR file './Debug/main.sbr' ignored main.exe - 1 error(s), 3 warning(s) 这个是VC6.0的问题,用2005和2008都不会出现这个问题,造成这种问题的原因是编译器分配的内存超过了限制。 解决办法是:Project -> Settings -> C/C++, 在Category中选”Precompiled Headers”,选择“Not using precompiled headers”就OK了,有人说这种办法会减慢编译速度,这个自然了,不过比起问题来,还是值得的。(各位大虾不要说我卖弄哦,我只是希望能帮助到更多人!) (二)VS2005安装STLport-5.2.1: 1、添加路径到vcvarsall.bat,就可以了,要添加include和lib。在…Microsoft Visual Studio 8/VC/bin下有一个vcvar32.ba;其实是指向…Microsoft Visual Studio 8/Common7/Tools/ vsvars32.bat的,所以直接改它就可以了; 主要是在“@set INCLUDE=”后面加上%STLport%/stlport; ,(注意有英文的分号) 加入Include路径中;在@set LIB=后面加上%STLport%/lib;(这里现在%STLport%下没有lib子目录,先加上去,一会编译会生成的)。 后面的和上面VC6.0安装差不多,写简单一点: 2、进入%STLport%,configure --help 可以看到相关的编译器的设置:configure msvc8 3、进入%STLport%/build/lib, 执行nmake /fmsvc.mak 4、接下来:nmake /fmsvc.mak install 5、接下来把上面%STLport%/stlport、%STLport%/lib添加到vs2005的vc目录路径,而且放在最上面 6、可以编译成功上面的那个例子了,但是,运行的话:会说“丢失 stlported5.2.dll”;所以,还需要把%STLport%/bin里面的所有文件都复制到vc的bin文件夹目录下; (在VC6.0中不需要此步) (三)、VS2008安装stlport-5.2.1的过程 (参照VS2005安装) 1、解压到C:/STLport-5.2.1 2、添加路径后,打开vs2008的cmd的prompt,进入C:/STLport-5.2.1/STLport-5.2.1 3、configure msvc9 4、进入C:/STLport-5.2.1/STLport-5.2.1/build/lib 5、nmake -clean 6、nmake installVC6.0、VS2005、VS2008安装STLport-5.2.1
- VC6.0、VS2005、VS2008安装STLport-5.2.1(转)
- VC6/VS2005/VS2008安装 STLport 5.2.1
- VC6.0、VS2005、VS2008安装STLport-5.2.1
- VC6.0、VS2005、VS2008安装STLport-5.2.1
- VC6.0、VS2005、VS2008安装STLport-5.2.1
- VC6.0、VS2005、VS2008安装STLport-5.2.1
- VC6.0安装STLport
- VC6.0安装STLport
- 【转】为VS2005安装STLport
- 【转】vc6.0配置STLPort
- [转]VC6 STLport-5.1.4 编译 安装
- 为VS2008安装STLport
- 为VS2008安装STLport
- VS2005(VS2008)与VC6.0的几点区别
- boost stlport for vs2008 安装
- VC6.0 转 VS2005
- VC6.0转vs2005
- 在vs6.0和vs2005中安装STLPort
- JSP学习
- 怎么访问CTabCtrl内某个属性页内的控件或对象?
- 非递归方式遍历本地文件夹
- VC sizeof(struct)内存分配分析
- 2011 创新工场 暑期实习 笔试题
- VC6.0、VS2005、VS2008安装STLport-5.2.1(转)
- 设置Button或者ImageButton的透明度
- asp 关于对多个checkbox 的获取
- C#异常处理
- 利用securecrt在linux与windows之间传输文件
- Ubuntu Rhythmbox播放器中文乱码问题解决
- 互联网巨头将面临“持”牌危机
- DOCTYPE用法详解
- SOAP和WSDL的一些必要知识