【转】VC6.0+icc编译STLPort5.2
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相关推荐
- VC6.0 预编译(转)
所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H.Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果.这样可以 ...
- (转)DirectShow9在VS2005或vc6.0下编译出现问题的解决方法
1.我用的版本是DirectX9.0b ,没有安装,直接解压后放到一个文件夹里用 2.我按照以下的步骤操作成功.明天试着做个播放器. VFW(Video for Windows)是Microsoft推 ...
- 驱动WDK7600在VC6.0下的编译开发配置环境
网上找了很多资料,都不好使.相信有很多像我一样偏好VC6.0的家伙,最新的WDK真的用不了么? 必须可以!!! 开始之前要一定要明确一件事情,单独使用WDK+记事本就可以开发驱动,和VC的编译器耗无关 ...
- vc6配置c语言编译环境,驱动WDK7600在VC6.0下的编译开发配置环境
网上找了很多资料,都不好使.相信有很多像我一样偏好VC6.0的家伙,最新的WDK真的用不了么?必须可以!!! 开始之前要一定要明确一件事情,单独使用WDK+记事本就可以开发驱动,和VC的编译器耗无关系 ...
- 解决用VC6.0编写的软件在另一台电脑编译时无APPMODUL.CPP源文件问题
今天师兄给我发了一个编写的软件文件夹,我先用的VS打开,编译时显示无APPMODUL.CPP 源文件,且无法打开 (显示APPMODUL.CPP的好像就是VC6.0编写的软件,appmodul.cpp ...
- VC6.0编译出错Compiling...,Error spawning cl.exe的解决方法
VC6.0编译出错Compiling-,Error spawning cl.exe的解决方法 出现错误的原因由于路径设置错误 依次点击工具->选项->目录 目录(S)有四个下拉选项 分别为 ...
- C语言学习1:从下载编译软件开始!DEV-C++、VC6.0、VS2010、VS2017等编译器的下载(Windows系统)
目录 1.前言 2.安装配置环境(可忽略) 3.DEV-C++ 的安装 4.VC6.0的安装 5.其他编译器的下载与安装 1.前言: 学会使用编译器是学习C语言过程中不可或缺的一部分.笔者在此列举了 ...
- 雷塞SMC304系列控制器VC6.0例程在VS2015下编译遇到的若干问题及解决办法
雷塞SMC304系列控制器VC6.0例程在VS2015下编译遇到的若干问题及解决办法 标签(空格分隔): 雷塞 SM304 WIN10 VS2015 最近由于导师要求,负责喷涂机器人的控制部分,接触到 ...
- VC6.0的一个编译错误:fatal error C1001: INTERNAL COMPILER ERROR。
最近在编译一个VC6.0工程(开发环境:win2000+VS6.0+Sp6),在加入预编译头后出现了下面的编译错误提示: c:/program files/microsoft visual studi ...
- VC6.0编译jpeglib库
一直在研究图像这方面,难免需要这个jpeg标准库.在官网下载的jpeg-9a或者jpeg-9b是没有这个库文件的,用户需要自己编译: 下面我已自己jpeg-9b为例说一下编译过程:官网如下 http: ...
最新文章
- Matlab:成功解决Index must be a positive integer or logical
- 我的世界服务器里怎么无限随机传送,我的世界随机传送插件使用教程 权限指令分享...
- less学习三---父选择器
- linux sleeping进程多_Linux下找出吃内存的方法总结
- oracle 00350,Oracle错误编码大全
- Windows Phone开发手记-WinRT下启动器替代方案
- druid mysql 配置优化_数据库连接池优化配置(druid,dbcp,c3p0)
- Javascript 高级程序设计--总结【二】
- java outputstrea_java的InputStream和OutputStream的理解【转】
- 翻译: 3.线性神经网络 概览 深入神经网络 pytorch
- 荔枝派通过usb烧录时出现ERROR: Allwinner USB FEL device not found!
- spss因子分析结果解读_因子分析巴特利特球形度检验结果解读
- 债券价格和到期收益率的关系_债券市场价格与到期收益率
- 火影忍者之~静音 (优先队列)
- MySQL-限制结果-LIMIT(limit)
- 海亮OJ庆生赛题解(福星)
- 输入n输出n个星号 python_python基础教程难点
- OCR营业执照识别接口
- 【颜色】Web 颜色记录
- 【视频课程】新能源汽车驱动与三电系统设计高级技术--系列课程
热门文章
- IO中的阻塞、非阻塞、同步、异步概念分析详解(通俗易懂)
- C语言实现任意两种进制之间互相转换
- docker 安装MySQL远程连接
- 编辑器CKEditor
- shell脚本编程之循环控制语句(continue/break/sleep)
- php趣味编程 - php 余弦曲线
- django 开发 - 小心模板文件的编码格式(utf-8)
- GC Roots 是什么?哪些对象可以作为 GC Root
- 动态开辟内存_C/C++工程师你理解程序的内存分区吗?
- Hibernate的双向N-N关联(六)