当前位置: 首页 > 工具软件 > STLPort > 使用案例 >

linux stlport 编译,Windows平台下的STLport(5.2.1)配置

柳浩大
2023-12-01

1.打开命令提示符,进入STLport根目录.

运行vcvars32.bat批处理文件.

VC6, X:\Program Files\Microsoft Visual Studio\VC98\Bin\vcvars32.bat

VC7, X:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\vcvars32.bat

VC8, X:\Program Files\Microsoft Visual Studio 8.0\VC\bin\vcvars32.bat

VC9, X:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat

注意:当存在多个C++编译器时,如果不运行此文件,只能编译一种C++编译环境下的STLport库.这样一来,在一个C++编译环境下引用另外

一个C++编译环境下的STLport库会出现编译错误.

2.使用命令configure对STLport进行配置.

注意:只有进入STL根目录才能运行configure命令(运行此命令其实是运行STLport根目录下的configure.bat批处理文件).

configure命令必须配合一些选项才能使用.如果想知道各个选项的详细介绍可键入:configure --help

下面是使用configure命令配置STLport必须用到的一些选项:

第一个选项必须是编译器的名称,Windows下可用的编译器名称如下:

选项名 全称

------------------------------------------------------------

msvc6 Microsoft Visual C++ 6.0

msvc7 Microsoft Visual C++ .NET 2002

msvc71 Microsoft Visual C++ .NET 2003

msvc8 Microsoft Visual C++ 2005

msvc9 Microsoft Visual C++ 2008

icl Intel C++ Compiler

evc3 Microsoft eMbedded Visual C++ 3 (*)

evc4 Microsoft eMbedded Visual C++ .NET (*)

evc8 Microsoft Visual C++ 2005 compiling for CE

evc9 Microsoft Visual C++ 2008 compiling for CE

以下的选项无次序要求

[-p] [平台名称] 或 -platform [平台名称] '实际使用时请不要键入方括号

Windows下可用的平台名称如下:

选项名 全称

------------------------------------------------------------

win95 Windows 95 compatible

win98 Windows 98 and up to Windows XP excluded

winxp Windows XP or later (default)

[-X]

使用交叉编译,一般不使用此选项.

[--with-static-rtl]

表示使用static C/C++ runtime library(libc.lib family)

[--with-dynamic-rtl]

表示使用dynamic C/C++ runtime library (msvcrt.lib family)

对于VC6在"Project->Setting-> C/C++ ->Category:Code Generation/Use run-time library"

里选择运行库,如下:

To use this run-time library Ignore these libraries

-------------------------------------------------------------------------------------

Single-threaded (libc.lib) libcmt.lib, msvcrt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib

Multithreaded (libcmt.lib) libc.lib, msvcrt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib

Multithreaded using DLL (msvcrt.lib) libc.lib, libcmt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib

Debug Single-threaded (libcd.lib) libc.lib, libcmt.lib, msvcrt.lib, libcmtd.lib, msvcrtd.lib

Debug Multithreaded (libcmtd.lib) libc.lib, libcmt.lib, msvcrt.lib, libcd.lib, msvcrtd.lib

Debug Multithreaded using DLL (msvcrtd.lib) libc.lib, libcmt.lib, msvcrt.lib, libcd.lib, libcmtd.lib

还有其它的一些选项,可使用"configure --help"使用查看详细信息,一般生成Stlport以上的选项已经足够了

3.使用"cd build/lib"进入 build/lib 目录,再键入"nmake clean install"命令编译stlport

编译完成之后,会在Stlport的根目录下生成 lib 和 bin 两个文件中.

lib文件夹中是编译生成的库文件(*.lib)

bin文件夹中是编译生成的动态链接库文件(*.dll)

4.使用Stlport库

在编译工具的包含目录和库目录中加入Stlport根目录下的头文件目录和库目录.

头文件目录为:stlport

库目录:lib

如果要使用Stlport的静态库版本,在程序中定义宏:_STLP_USE_STATIC_LIB

如果要使用stlport的动态库版本,在程序中定义宏:_STLP_USE_DYNAMIC_LIB

如果以上两个宏都没有定义,默认使用静态库.

5.编译生成的库文件

stlport[d|stld][_x,_static,_statix]..lib

d : debug build

stld: debug build with _STLP_DEBUG (STL safe) mode

_x: Build of STLport as a dll but statically link to the native runtime.

_static : build of a static library

_statix : build of a static library link dynamically to the native runtime.

使用static C/C++ runtime library(libc.lib family)的STLport静态库

stlportstld_static.lib

stlportd_static.lib

stlport_static.lib

使用static C/C++ runtime library(libc.lib family)的STLport动态库

stlportstld_x.5.2.lib

stlportd_x.5.2.lib

stlport_x.5.2.lib

使用dynamic C/C++ runtime library (msvcrt.lib family)的STLport静态库

stlportstld_statix.lib

stlportd_statix.lib

stlport_statix.lib

使用dynamic C/C++ runtime library (msvcrt.lib family)的STLport动态库

stlportstld.5.2.lib

stlportd.5.2.lib

stlport.5.2.lib

 类似资料: