博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vc6编译stlport及常见问题
阅读量:5163 次
发布时间:2019-06-13

本文共 2378 字,大约阅读时间需要 7 分钟。

vc6下编译安装stlport:

下载stlport的源码,将其解压到任意文件夹下,记下这个文件路径

(我的为D:\sdk\STLport-5.2.1\)

1.配置编译器环境变量
在\Miscrosoft Visual Studio\VC98\BIN\下找到文件
VCVAR32.BAT,该文件是注册环境变量的。
在其中把stlport的include和lib路径给配置上。

右键-》编辑

在文件结尾处有如下两行
set INCLUDE=%MSVCDir%\ATL\INCLUDE;%MSVCDir%\INCLUDE;%MSVCDir%\MFC\INCLUDE;%INCLUDE%
set LIB=%MSVCDir%\LIB;%MSVCDir%\MFC\LIB;%LIB%
将源码的include和lib添加到路径中,我的环境如下:
set INCLUDE=D:\sdk\STLport-5.2.1\stlport;%MSVCDir%\ATL\INCLUDE;%MSVCDir%\INCLUDE;%MSVCDir%\MFC\INCLUDE;%INCLUDE%
set LIB=D:\sdk\STLport-5.2.1\lib;%MSVCDir%\LIB;%MSVCDir%\MFC\LIB;%LIB%

保存。

2.配置执行环境

然后执行VCVARS32.bat,(可以直接双击执行,也可以在cmd中执行,如果系统为win7推荐以管理员身份运行)

打开cmd,路径切换到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.

3.编译运行

cmd下路径切换到stlport的build\lib下,执行以下命令
nmake /fmsvc.mak
这条命令为编译,执行时间很长。
完成后运行以下指令
nmake /fmsvc.mak install
这条命令的主要功能是copy

4.配置VC

A.TOOL-》Options-》Directories中分别增加Include和lib,并将其移至顶端。

5.使用,

配置完lib和include后,新建工程测试,在运行时会弹出对话框“无法启动此程序,因为计算机中
丢失stlportd.5.2.dll。尝试重新安装该程序以解决此问题。
引起这个问题的原因是,默认使用了利用动态库的方式。下面介绍stlport的两种调用方法
a.动态库
源码根路径的bin目录,里面是刚才我们编译出来的dll库。
将其中的stlportd.3.2.dllcopy到C盘的system32目录下,
Project->settings->C/C++,
Category中选:
Code Generation : 在Use run-time library中选“Debug Mulithreaded DLL”(Release版选“Mulithreaded”)
如果当前程序支持MFC的话,还需要到
Project->settings->General,
Microsoft Foundation Class:中选择Use MFC in a Shared DLL 否则会在编译期间报一堆未识别符号
如:__argv,__argc等等

b.静态库

静态库方式不用把dllcopy到system32下。
Project->settings->C/C++,
Category中选:
Code Generation : 在Use run-time library中选“Debug Mulithreaded”(Release版选“Mulithreaded”)
如果当前程序支持MFC的话,还需要到
Project->settings->General,
Microsoft Foundation Class:中选择Use MFC in a Static Library 否则编译期会报错
#error :  Please use the /MD switch for _AFXDLL builds

6.其他,

此外还有可能会遇到如下的问题:
error C2733: second C linkage of overloaded function 'InterlockedIncrement' not allowed

这种情况是stl跟PSDK的兼容性冲突了。不过stl已经有了处理措施

打开stl源码目录\stlport\stl\config\user_config.h
在其中搜_STLP_USE_MFC和_STLP_NEW_PLATFORM_SDK
发现这两个宏是注释状态,将其注释起开,问题解决。

posted on
2013-12-05 16:47 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/x-boot/p/3459899.html

你可能感兴趣的文章
[Linux]文件浏览
查看>>
64位主机64位oracle下装32位客户端ODAC(NFPACS版)
查看>>
获取国内随机IP的函数
查看>>
今天第一次写博客
查看>>
江城子·己亥年戊辰月丁丑日话凄凉
查看>>
IP V4 和 IP V6 初识
查看>>
Spring Mvc模式下Jquery Ajax 与后台交互操作
查看>>
(转)matlab练习程序(HOG方向梯度直方图)
查看>>
『Raid 平面最近点对』
查看>>
【ADO.NET基础-数据加密】第一篇(加密解密篇)
查看>>
C语言基础小结(一)
查看>>
STL中的优先级队列priority_queue
查看>>
UE4 使用UGM制作血条
查看>>
浏览器对属性兼容性支持力度查询网址
查看>>
OO学习总结与体会
查看>>
虚拟机长时间不关造成的问题
查看>>
面试整理:Python基础
查看>>
Python核心编程——多线程threading和队列
查看>>
Program exited with code **** 相关解释
查看>>
植物大战僵尸中文年度版
查看>>