visual studio 2005/2008/2012 编译STLport 5.1.5
2008-03-17 18:17
459 查看
先说vs 2005编译STLport
stlport源代码,可以添加到vs2005,过程也很容易。下载最新的STLport :
http://sourceforge.net/project/showfiles.php?group_id=146814&package_id=162032
我下的是5.1.5版本的。
解压到c盘,然后进入C:/Program Files/Microsoft Visual Studio 8/Common7/Tools
添加路径到vcvarsall.bat,就可以了,要添加include和lib。
刚下载的文件解压后,没有lib文件夹,没有关系,修改后的部分如下下划线区域:
@set PATH=C:/qt-win-commercial-src-4.3.1/bin;C:/Program Files/Microsoft Visual Studio 8/Common7/IDE;C:/Program Files/Microsoft Visual Studio 8/VC/BIN;C:/Program Files/Microsoft Visual Studio 8/Common7/Tools;C:/Program Files/Microsoft Visual Studio 8/Common7/Tools/bin;C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/bin;C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/bin;C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727;C:/Program Files/Microsoft Visual Studio 8/VC/VCPackages;%PATH% @set INCLUDE=C:/STLport-5.1.3/STLport-5.1.3/stlport;C:/qt-win-commercial-src-4.3.1/include;C:/Program Files/Microsoft Visual Studio 8/VC/ATLMFC/INCLUDE;C:/Program Files/Microsoft Visual Studio 8/VC/INCLUDE;C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/include;C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/include;%INCLUDE% @set LIB=C:/STLport-5.1.3/STLport-5.1.3/lib;C:/qt-win-commercial-src-4.3.1/lib;C:/Program Files/Microsoft Visual Studio 8/VC/ATLMFC/LIB;C:/Program Files/Microsoft Visual Studio 8/VC/LIB;C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/lib;C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/lib;%LIB% @set LIBPATH=C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727;C:/Program Files/Microsoft Visual Studio 8/VC/ATLMFC/LIB
开始编译,适用vs2005自带的命令行。
进入build路径的lib,先查看configure命令。
configure --help 可以看到相关的编译器的设置:
configure -c msvc8
下面就会提示相应的操作:
nmake /fmsvc.mak
接下来:
nmake /fmsvc.mak install
接下来把上面的标记部分添加到vs2005的vc目录路径,而且放在最上面,还不够,还要把bin里面的所有文件都复制到vc的bin文件夹目录下:
C:/Program Files/Microsoft Visual Studio 8/VC/bin
还有lib下C:/Program Files/Microsoft Visual Studio 8/VC/lib,不过我试过了,可以不复制。
到此就可以开始写一个程序,使用的就是stlport的库:
#include <iostream> #include <vector> using namespace std; int main() { vector<int> a; return 0; }
对#include <vector>的vector右键,出现”打开文档vector”,就看到的是stl的vector文档。
如下:
/* * * Copyright (c) 1994 * Hewlett-Packard Company * * Copyright (c) 1996,1997 * Silicon Graphics Computer Systems, Inc. * * Copyright (c) 1999 * Boris Fomitchev * * This material is provided "as is", with absolutely no warranty expressed * or implied. Any use is at your own risk. * * Permission to use or copy this software for any purpose is hereby granted * without fee, provided the above notices are retained on all copies. * Permission to modify the code and to distribute modified code is granted, * provided the above notices are retained, and a notice that the code was * modified is included with the above copyright notice. * */ #ifndef _STLP_VECTOR #define _STLP_VECTOR # ifndef _STLP_OUTERMOST_HEADER_ID # define _STLP_OUTERMOST_HEADER_ID 0x77 # include <stl/_prolog.h> # endif # ifdef _STLP_PRAGMA_ONCE # pragma once # endif # ifndef _STLP_INTERNAL_ALGOBASE_H # include <stl/_algobase.h> # endif #ifndef _STLP_INTERNAL_VECTOR_H # include <stl/_vector.h> #endif ……
2008编译stlport5.2.1的过程
1、解压到C:/STLport-5.2.12、添加路径后,打开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 install
2012编译stlport5.2.1的过程
整个过程如上面2008的编译,stlport一直没有维护了,而且最大的VC++支持也是9,也就是2008,那么要支持2012编译,就要:1、用“Developer Command Prompt for VS2012”打开cmd
2、修改文件“vim D:\StlPort\STLport-5.2.1\stlport\stl/_cstdlib.h”,我的放在d盘的,修嘎第158行,之前是:
inline _STLP_LONG_LONG abs(_STLP_LONG_LONG __x) { return __x < 0 ? -__x : __x; }修改后:
# if !defined (__WATCOMC__) && \ (!defined (_STLP_MSVC_LIB) || (_STLP_MSVC_LIB < 1700) || defined (_STLP_USING_PLATFORM_SDK_COMPILER) || defined (UNDER_CE)) inline _STLP_LONG_LONG abs(_STLP_LONG_LONG __x) { return __x < 0 ? -__x : __x; } # endif
然后执行2008的编译过程就是了,很快的,也没有问题的。
Visual Studio 2012是不支持设置系统的头文件和库文件的设置,但是我们有办法,如下打开或者新建一个工程,然后,在菜单栏里面--“View”--“Property Manager”,如下图:
最后,在运行的时候会报缺少stlportd.dll 该些文件在C:/STLport-5.2.1/STLport-5.2.1编成的bin里面,我的建议是直接添加系统路径,设置环境变量。
相关文章推荐
- Visual Studio 2005/2008中如何编译和运行C++程序(转)
- Visual Studio 2015、2013、2012、2010、2008、2005各版本下载+有效密钥激活
- stlport 5.10 编译 更加容易了(visual studio 2005)
- c++学习笔记(1)——环境搭建、经典教程推荐及 Visual Studio 2005/2008中如何编译和运行C++程序
- OpenCV 2.3.x/2.4.x在Visual Studio 2005/2008、Visual Studio 2010和Visual Studio 2012配置方法详解
- 在Visual Studio 2005/2008中编译C/C++程序
- 扫盲贴 Visual Studio 2005/2008中如何编译和运行C++程序
- Visual Studio 2005/2008中如何编译和运行C++程序
- (2356)Vista系统下使用Visual Studio 2008编译STLPort
- 使用OpenCV-2.4.0.exe文件编译x86或x64平台Visual Studio 2005/2008/2010目标文件
- Visual Studio 6/2005/2008/2010/2012/2013 各版本编译器 下载
- OpenCV 2.3.x/2.4.x在Visual Studio 2005/2008、Visual Studio 2010和Visual Studio 2012配置方法详解
- Visual Studio 2015、2013、2012、2010、2008、2005各版本下载+有效密钥激活
- 如何使用Visual Studio 2005或Visual Studio 2008编译纯C语言程序!!【图文】
- 扫盲贴 Visual Studio 2005/2008中如何编译和运行C++程序
- visual studio 2005 & visual studio 2008下编译boost库
- 使用OpenCV-2.4.0.exe文件编译x86或x64平台Visual Studio 2005/2008/2010目标文件
- OpenCV 2.3.x/2.4.x在Visual Studio 2005/2008、Visual Studio 2010和Visual Studio 2012配置方法详解
- 使用visual studio 2005/2008 编译lua
- 解决Visual Studio 2008编译智能设备程序时找不到头文件的方法