VC6.0(sp6)+Intel c++ Compiler For Windows v9.0.025 Final编译STLPort5.2.1

转载请保留此信息
*/

编译前的准备:请确保 环境变量 path中有D:/vc6.0/MSDev98/Bin 原因及如何设置后面会说到(没设置的可先看后面)
1. 到www.stlport.org下载STLPort。我下载的是stlport5.2.1
   (http://sourceforge.net/project/showfiles.php?group_id=146814)
2. 把下载的stlport压缩包解压,我假设解压到D:/VC98/STLport(其子目录是src,doc,stlport等目录)
3. 编译stlport
(1)编译d:/VC98/bin/vcvars32.bat
给INCLUDE 变量 加上 %MSVCDir%/STLport/stlport
给LIB变量加上 %MSVCDir%/STLport/lib
改后应为
set INCLUDE=%MSVCDir%/STLport/stlport;%MSVCDir%/ATL/INCLUDE;%MSVCDir%/INCLUDE;%MSVCDir%/MFC/INCLUDE;%INCLUDE%
set LIB=%MSVCDir%/STLport/lib;%MSVCDir%/LIB;%MSVCDir%/MFC/LIB;%LIB%

开启一个console窗口, 运行 d:/VC98/bin/vcvars32.bat
如果成功会提示:
Setting environment for using Microsoft Visual C++ tools.
(2)CD到STLport目录下执行如下命令:
D:/VC98/STLport>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.

按照提示在CMD下输出如下命令:
D:/VC98/STLport>cd build

D:/VC98/STLport/build>cd lib

D:/VC98/STLport/build/lib>nmake clean install
结果我的电脑出现    "没有找到mspdb60.dll,因此这个应用程序未能启动"  错误
解决方法有两种:
第一种:Microsoft Visual Studio/Common/MSDev98/Bin中去找mspdb60.dll,然后把它复制到system32里就ok了!
第二种:就是 环境变量 path中添加D:/vc6.0/MSDev98/Bin  注释再编译
再编译
如果是第一种方法后面又会出现问题
        rc /I../../stlport /D "COMP=vc6" /D "BUILD_INFOS=/nologo /W4 /GX /GR /Zm
800  /MD /Zi /O2" /fo obj/vc6/shared/stlport.res ../../src/stlport.rc
'rc' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
NMAKE : fatal error U1077: 'rc' : return code '0x1'
Stop.

于是搜索rc.exe 在D:/vc6.0/MSDev98/Bin 找到了它
设置环境变量
右键我的电脑--属性--高级---环境变量---登录用户名的用户变量---变量path的值上添加 ;D:/vc6.0/MSDev98/Bin 
--确定--确定
注销下再编译  编译成功 STLport下生成了bin 与lib文件夹

可见这两个问题都是由于环境变量不对导致的,所以编译前的准备是很重要的

4. 配置vc
    点击vc的tools-options-Directories,
    选择Include files,加入D:/VC98/STLport/stlport,并调到最前面
    选择Library files,加入D:/VC98/STLport/LIB,并调到最前面
将bin/目录下的三个*.dll文件拷贝到windows/system32/目录下

注意,编译时务必使用下面的格式:
cl /GX /MT program.cpp
SGI STL中大量使用try..throw..catch,VC缺省情况下不支持此语法,
/GX是要求VC++ Compiler打开对异常处理语法的支持。/MT则是要求VC的linker本程序obj文件与libcmt.lib连接在一起,
因为SGI STL是thread-safe的,必须以multi-thread形式运行。
若要在图形界面中使用,则:
project-->setting(Alt+F7)->c/c++  Use run-time library Debug Multithreaded
如果编译程序的时候出现:
Fatal error cannot open "stlportd_static..lib" 就把stlportd_static.lib重命名为stlportd_static..lib
至此, vc6.0编译stlport完成

如果是icc编译 (我下的是Intel C++ Compiler For Windows v9.0.025 Final安装在D:/ICC/下)
注意:安装完icc后 一定要设置好icc的环境变量 否则编译过程不断出现的错误会让你很郁闷的,我为了这个问题搞了2
天时间.比如连接的时候会出现 can not open file libmmd.lib的问题
安装完后运行  开始--Intel(R) Software Development Tools--Intel(R) C++ Compiler 9.0-
--build Environment for IA-32 applications 
给用户变量  变量include值添加: ;D:/ICC/Intel/Compiler/C++/9.0/IA32/Include
变量lib添加: ;D:/ICC/Intel/Compiler/C++/9.0/IA32/Lib
变量path添加: ;D:/ICC/Intel/Compiler/C++/9.0/IA32/Bin
以上这几个值,装在不同目录自然不同,大家自行修改下

剩下的就简单了,跟VC6编译大部分一样,只是第3.(2)步命令应该修改如下:
D:/VC98/STLport>configure icl
显示如下:
STLport Configuration Tool for Windows

Setting compiler: Intel C++ Compiler

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.
其他同上了

如果同时用VC9和ICL编译的STLPort,两套库的名字是一样的,会冲突。解决方法:
- 找到STLPort目录下的_auto_link.h
我的是在D:/VC98/STLport/stlport/stl/config/下
- 将下面一行
#  define _STLP_STLPORT_LIB "stlport"_STLP_LIB_OPTIM_MODE""_STLP_LIB_TYPE""_STLP_LIB_MOTIF"."_STLP_VERSION_STR".lib"
替换为
#  if defined (__ICL)
#     define _STLP_STLPORT_LIB_PREFIX "icl_"
#  else
#     define _STLP_STLPORT_LIB_PREFIX ""
#  endif

#  define _STLP_STLPORT_LIB _STLP_STLPORT_LIB_PREFIX"stlport"_STLP_LIB_OPTIM_MODE""_STLP_LIB_TYPE""_STLP_LIB_MOTIF"."_STLP_VERSION_STR".lib"
然后将ICL编译出的几个lib文件前加上“icl_”前缀,即:
icl_stlport_static.5.1.lib  如果编译器出现can not open icl_stlportd_static..lib那么就把icl_stlportd_static.lib
icl_stlportd_static..lib 就是多加个.号
如果生成的lib与dll分别在lib,bin的icl子目录下,就分别提取出来放在lib ,bin下(icl子目录没有用,可以删掉)
完成...

http://www.programfan.com/blog/article.asp?id=40190

【转】VC6.0+icc编译STLPort5.2相关推荐

  1. VC6.0 预编译(转)

    所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H.Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果.这样可以 ...

  2. (转)DirectShow9在VS2005或vc6.0下编译出现问题的解决方法

    1.我用的版本是DirectX9.0b ,没有安装,直接解压后放到一个文件夹里用 2.我按照以下的步骤操作成功.明天试着做个播放器. VFW(Video for Windows)是Microsoft推 ...

  3. 驱动WDK7600在VC6.0下的编译开发配置环境

    网上找了很多资料,都不好使.相信有很多像我一样偏好VC6.0的家伙,最新的WDK真的用不了么? 必须可以!!! 开始之前要一定要明确一件事情,单独使用WDK+记事本就可以开发驱动,和VC的编译器耗无关 ...

  4. vc6配置c语言编译环境,驱动WDK7600在VC6.0下的编译开发配置环境

    网上找了很多资料,都不好使.相信有很多像我一样偏好VC6.0的家伙,最新的WDK真的用不了么?必须可以!!! 开始之前要一定要明确一件事情,单独使用WDK+记事本就可以开发驱动,和VC的编译器耗无关系 ...

  5. 解决用VC6.0编写的软件在另一台电脑编译时无APPMODUL.CPP源文件问题

    今天师兄给我发了一个编写的软件文件夹,我先用的VS打开,编译时显示无APPMODUL.CPP 源文件,且无法打开 (显示APPMODUL.CPP的好像就是VC6.0编写的软件,appmodul.cpp ...

  6. VC6.0编译出错Compiling...,Error spawning cl.exe的解决方法

    VC6.0编译出错Compiling-,Error spawning cl.exe的解决方法 出现错误的原因由于路径设置错误 依次点击工具->选项->目录 目录(S)有四个下拉选项 分别为 ...

  7. C语言学习1:从下载编译软件开始!DEV-C++、VC6.0、VS2010、VS2017等编译器的下载(Windows系统)

    目录 1.前言 2.安装配置环境(可忽略) 3.DEV-C++ 的安装 4.VC6.0的安装 5.其他编译器的下载与安装 1.前言: 学会使用编译器是学习C语言过程中不可或缺的一部分.笔者在此列举了 ...

  8. 雷塞SMC304系列控制器VC6.0例程在VS2015下编译遇到的若干问题及解决办法

    雷塞SMC304系列控制器VC6.0例程在VS2015下编译遇到的若干问题及解决办法 标签(空格分隔): 雷塞 SM304 WIN10 VS2015 最近由于导师要求,负责喷涂机器人的控制部分,接触到 ...

  9. VC6.0的一个编译错误:fatal error C1001: INTERNAL COMPILER ERROR。

    最近在编译一个VC6.0工程(开发环境:win2000+VS6.0+Sp6),在加入预编译头后出现了下面的编译错误提示: c:/program files/microsoft visual studi ...

  10. VC6.0编译jpeglib库

    一直在研究图像这方面,难免需要这个jpeg标准库.在官网下载的jpeg-9a或者jpeg-9b是没有这个库文件的,用户需要自己编译: 下面我已自己jpeg-9b为例说一下编译过程:官网如下 http: ...

最新文章

  1. Matlab:成功解决Index must be a positive integer or logical
  2. 我的世界服务器里怎么无限随机传送,我的世界随机传送插件使用教程 权限指令分享...
  3. less学习三---父选择器
  4. linux sleeping进程多_Linux下找出吃内存的方法总结
  5. oracle 00350,Oracle错误编码大全
  6. Windows Phone开发手记-WinRT下启动器替代方案
  7. druid mysql 配置优化_数据库连接池优化配置(druid,dbcp,c3p0)
  8. Javascript 高级程序设计--总结【二】
  9. java outputstrea_java的InputStream和OutputStream的理解【转】
  10. 翻译: 3.线性神经网络 概览 深入神经网络 pytorch
  11. 荔枝派通过usb烧录时出现ERROR: Allwinner USB FEL device not found!
  12. spss因子分析结果解读_因子分析巴特利特球形度检验结果解读
  13. 债券价格和到期收益率的关系_债券市场价格与到期收益率
  14. 火影忍者之~静音 (优先队列)
  15. MySQL-限制结果-LIMIT(limit)
  16. 海亮OJ庆生赛题解(福星)
  17. 输入n输出n个星号 python_python基础教程难点
  18. OCR营业执照识别接口
  19. 【颜色】Web 颜色记录
  20. 【视频课程】新能源汽车驱动与三电系统设计高级技术--系列课程

热门文章

  1. IO中的阻塞、非阻塞、同步、异步概念分析详解(通俗易懂)
  2. C语言实现任意两种进制之间互相转换
  3. docker 安装MySQL远程连接
  4. 编辑器CKEditor
  5. shell脚本编程之循环控制语句(continue/break/sleep)
  6. php趣味编程 - php 余弦曲线
  7. django 开发 - 小心模板文件的编码格式(utf-8)
  8. GC Roots 是什么?哪些对象可以作为 GC Root
  9. 动态开辟内存_C/C++工程师你理解程序的内存分区吗?
  10. Hibernate的双向N-N关联(六)