使用VS2012编译和使用C++ STL(STLport)

使用VS2012编译和使用C++ STL(STLport)

http://cstriker1407.info/blog/use-vs2012-to-compile-and-use-the-c-stl-stlport/

参考网址:

【 http://blog.csdn.net/lwc91319/article/details/10627415 】
【 http://blog.csdn.net/fullsail/article/details/6848945 】
【 http://blog.csdn.net/goxigo/article/details/4548197 】
【 http://hi.baidu.com/dbfr2011818/item/d21e23d9f804211c20e2502f 】
【 http://blog.csdn.net/huangxy10/article/details/7616633 】

搭建步骤:

首先在VS2012下新建一个【 Win32控制台程序 】,分别在【 Debug 】和【 Release 】模式下编译,运行一次,如下图:

这样本地目录中会出现两个输出文件夹。如下图:

然后去STLport的网站下载【 http://sourceforge.net/projects/stlport/ 】,解压到工程子目录下,如下图:

进入该目录,修改文件【 D:\HelloSTL\HelloSTL\STLport-5.2.1\stlport\stl\_cstdlib.h 】的158行,改为

#if !defined(_STLP_MSVC) || (_STLP_MSVC < 1600)
inline _STLP_LONG_LONG  abs(_STLP_LONG_LONG __x) { return __x < 0 ? -__x : __x; }
#endif

原来的:

改为:

启动【 VS2012 开发人员命令提示 】,如下图:

然后输入以下命令:

C:\Program Files (x86)\Microsoft Visual Studio 11.0>D: #切换分区
。。。。
D:\>cd HelloSTL/HelloSTL/STLport-5.2.1 #切换目录
。。。。
D:\HelloSTL\HelloSTL\STLport-5.2.1>configure msvc9 #configure
。。。。
D:\HelloSTL\HelloSTL\STLport-5.2.1>cd build/lib #切换目录
。。。。
D:\HelloSTL\HelloSTL\STLport-5.2.1\build\lib>nmake clean install #nmake
。。。。

等待一会儿,待编译完成。
修改VS2012的工程属性,注意配置为所有配置,如下图:

【 包含目录 】中增加【 D:\HelloSTL\HelloSTL\STLport-5.2.1\stlport 】
【 库目录 】中增加【 D:\HelloSTL\HelloSTL\STLport-5.2.1\lib 】

为了简单起见,这里将.dll直接复制到输出目录下,将【 D:\HelloSTL\HelloSTL\STLport-5.2.1\bin 】下的6个文件全部复制到【D:\HelloSTL\Debug 】和【 D:\HelloSTL\Release 】目录下。
然后将main函数修改为:

#include "stdafx.h"
#include "vector"
 
int _tmain(int argc, _TCHAR* argv[])
{
    std::vector<int> testVector;
    testVector.push_back(100);
    printf("%d", testVector.size());
 
    getchar();
    return 0;
}

编译,运行就可以了。也可以断点调试。

Release模式调试

这里作者遇到了一个小问题,在不同的环境下,VS2012的项目的debug模式中会出现断点调试进入了【 D:\HelloSTL\HelloSTL\STLport-5.2.1\stlport\stl\debug 】目录下,这里作者猜测是使用了debug模式的问题,作者使用了一种比较奇怪的方式,来使调试进入【 D:\HelloSTL\HelloSTL\STLport-5.2.1\stlport\stl 】目录,方法如下:
将项目切换到release模式在release模式下使用断点调试。此时,要修改3个地方,如下图,修改好之后,就可以在release模式下进行调试,此时会进入【 D:\HelloSTL\HelloSTL\STLport-5.2.1\stlport\stl 】目录。

修改点:

时间: 2024-10-11 02:18:50

使用VS2012编译和使用C++ STL(STLport)的相关文章

VS2012编译64位程序

安装64位操作系统不是编译64位程序的必要条件,关键是要装64位程序的编译器. 1. 选择“Build” – “Configuration Manager”菜单,打开配置管理器.点击新建解决方案平台. 2. 选择“x64”平台,点击确定按钮. 3. 这时候配置管理器中的平台已经改成刚才选择的x64了,这时候编译出来的就是64位程序了.可以在工具栏的平台下拉框中快速切换目标平台. 注意:一个工程调用的另一个工程的DLL时,位数必须一致,即本工程要编译为64位,DLL也必须编译为64位.如果本工程要

vs2012编译CZMQ-2.2.0

1.下载源码包 到地址http://download.zeromq.org/czmq-2.2.0.zip下载源码,解压缩到czmq-2.2.0目录下如图所示 将builds目录拷贝到czmq-2.2.0目录下(合并并覆盖),并将czmq-2.2.0移出来即文件目录由czmq-2.2.0\czmq-2.2.0变为czmq-2.2.0(这一步特别注意,下面的属性配置依赖这个配置) 2.编译 打开builds\msvc\vs2012目录,可以看到czmq.sln文件,打开该工程,编译出现以下错误: 该

用vs2012编译doxygen-1.8.7

1.下载bison,地址见上篇文件,我用的是2.4.1-setup.exe 2.下载flex,地址见上篇文件,我用的是flex-2.5.4a-1.exe 3.下载python,我用的是2.7版本 4.将前面三个软件安装后,将其安装后目录下的bin都添加到系统给的path路径中,将python的根目录增加到系统的path目录 5.使用vs2012打开doxgen的源代码,目录下有个winbuild,找到Doxygen.sln 4>------ 已启动生成: 项目: doxyindexer, 配置:

cocos2dx-3.2 vs2012 编译总找不到文件

发现对应路径多了个2d,删除即可. 注意对应的android程序也有这个问题 cocos2dx-3.2 vs2012 编译总找不到文件

VS2012编译错误信息,错误列表却没显示

今天在写代码的时候,发现VS有编译错误,在错误列表里面却没有显示错误信息,百思不得其解. 后来终于发现,错误列表弄了个筛选,所以就看不到错误信息了,晕死.有遇到该问题的,可以参考下. VS2012编译错误信息,错误列表却没显示

【转】VS2012编译出来的程序,在XP上运行,出现“.exe 不是有效的 win32 应用程序” “not a valid win32 application”

原文网址:http://www.cnblogs.com/Dageking/archive/2013/05/15/3079394.html VS2012编译出来的程序,在XP上运行,出现“.exe 不是有效的 win32 应用程序” “not a valid win32 application” 升级vs2010到vs2012,突然发现build出来的应用程序无法运行,提示“不是有效的 win32 应用程序” or “not a valid win32 application”. 参考CSDN论坛

vs2012编译C代码,总是出现error C2143: syntax error : missing &#39;;&#39; before &#39;type&#39;

今天编译一个动态库,里面有用C编写的源文件, 为了调试自己加了一些简单的信息输出语句,但是总是编译不过, 最后精简到只是定义一个函数的局部变量也会编译失败, 最后Google了才明白,vs在编译C代码的时候会有一些特殊的check, 其中一种就是需要函数定义局部变量要在开头. 举例如下: 错误的代码 void func1() { int x: //do some work int y; //do other work } 这样的代码在编译的时候就会在int y 这里报error C2143: s

vs2012 编译 并使用 google protobuf

参考网址: http://my.oschina.net/chenleijava/blog/261263 http://www.ibm.com/developerworks/cn/linux/l-cn-gpb/ http://blog.csdn.net/yi_ya/article/details/40404231 http://blog.csdn.net/yi_ya/article/details/40404059 http://blog.csdn.net/chenkjiang/article/d

ffmepg mingw + vs2012 编译

网上有很多mingw 编译ffmpeg的介绍,但是多很难顺利完成,整理了网上的一些资料把编译过程整理了一下,便于大家使用 1.搭建 MinGW 的编译环境,这里不做过多介绍,网上一大堆 2.安装yasm 地址:http://yasm.tortall.net/Download.html,如果不需要x264支持可以不安装 改名为yasm.exe放到C:\WINDOWS\system32 或者 C:\MinGW\msys\1.0\bin文件夹下. 3.安装pkg-config 下载pkg-config