Win7_64位系统下,使用VS2010编译stlport库和Boost库
来源:互联网 发布:网络动漫制作公司 编辑:程序博客网 时间:2024/05/22 04:24
编译stlport
按照书上所说的,从http://sourceforge.net/projects/stlport/?source=pdlp下载stlport的源码
1.打开VS2010安装路径下的Visual Stdio Tools文件夹下的visual stdio 命令提示(2010)工具。
2.定位到configure.bat所在的路径: 执行cd F:\STLport\STLport-5.2.1
3.执行命令 configure msvc9
4.执行命令cd buidl/lib
5. nmake clean install
但编译会出现错误,
E:\HaveFun\STLport\STLport.5.2.1\stlport\stl/_cstdlib.h(158): error C2084: func
tion '__int64 abs(__int64)' already has a body
C:\Program Files\Microsoft Visual Studio 10.0\VC\INCLUDE\../include/stdl
ib.h(471) : see previous definition of 'abs'
NMAKE : fatal error U1077: '"C:\ProgramFiles\Microsoft Visual Studio 10.0\VC\BI
N\cl.EXE"' : return code '0x2'
估计是STLport还没有支持2010的问题导致的,检查了以代码,和google了一下问题,将_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
注意_STLP_MSVC 和 _MSC_VER 是一个东东,就是VC的版本号,上述就是添加了一对#if 和#endif语句。
这样就能成功编译了。
编译boost库
1.在boost安装路径下执行bootstrap命令,完成编译前的配置工作。
2.修改b2的配置文件:.\tools\build\v2下的user-config.jam, 在第74行去掉前面的注释#,启用STLport,并修改STLport的头文件路径和lib路径,修改如下:
"using stlport : : F:\STLport\STLport-5.2.1\stlport : F:\STLport\STLport-5.2.1\lib ;"
3.接下来完整编译boost库,执行命令
b2 --buildtype=conplete stdlib=stlport stage
VC中配置StLport和Boost库的路径
如果采用多线程。静态库连接、非Unicode的编译方式如下:
1.打开属性管理器,选择Debug|win32下的Microsoft.cpp.Win32.user ,在Projects and Solutions的“VC++ Directories”页,选择“Include files”,加入“D:\STLport
\stlport” 和D:\boost,并调到最前面。选择Library files,加入D:\STLport\lib,并调到最前面。
2.打开菜单Project->Properties,在“Configration Propeities”的“General”页,设置“Character Set”为Not Set。
3.在“C/C++”的“Code Generation”页,选择“Runtime Library”为多线程(realease版为/MT,Debug版本为/MTD。
4.如果为Debug工程,则应该在Preprocessor页中定义宏“_STLP_DEBUG”和“_STL_DEBUG”以便使用STLport。
、
具体参见《Boost程序库完全开发指南》 罗剑锋著
按照书上所说的,从http://sourceforge.net/projects/stlport/?source=pdlp下载stlport的源码
1.打开VS2010安装路径下的Visual Stdio Tools文件夹下的visual stdio 命令提示(2010)工具。
2.定位到configure.bat所在的路径: 执行cd F:\STLport\STLport-5.2.1
3.执行命令 configure msvc9
4.执行命令cd buidl/lib
5. nmake clean install
但编译会出现错误,
E:\HaveFun\STLport\STLport.5.2.1\stlport\stl/_cstdlib.h(158): error C2084: func
tion '__int64 abs(__int64)' already has a body
C:\Program Files\Microsoft Visual Studio 10.0\VC\INCLUDE\../include/stdl
ib.h(471) : see previous definition of 'abs'
NMAKE : fatal error U1077: '"C:\ProgramFiles\Microsoft Visual Studio 10.0\VC\BI
N\cl.EXE"' : return code '0x2'
估计是STLport还没有支持2010的问题导致的,检查了以代码,和google了一下问题,将_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
注意_STLP_MSVC 和 _MSC_VER 是一个东东,就是VC的版本号,上述就是添加了一对#if 和#endif语句。
这样就能成功编译了。
编译boost库
1.在boost安装路径下执行bootstrap命令,完成编译前的配置工作。
2.修改b2的配置文件:.\tools\build\v2下的user-config.jam, 在第74行去掉前面的注释#,启用STLport,并修改STLport的头文件路径和lib路径,修改如下:
"using stlport : : F:\STLport\STLport-5.2.1\stlport : F:\STLport\STLport-5.2.1\lib ;"
3.接下来完整编译boost库,执行命令
b2 --buildtype=conplete stdlib=stlport stage
VC中配置StLport和Boost库的路径
如果采用多线程。静态库连接、非Unicode的编译方式如下:
1.打开属性管理器,选择Debug|win32下的Microsoft.cpp.Win32.user ,在Projects and Solutions的“VC++ Directories”页,选择“Include files”,加入“D:\STLport
\stlport” 和D:\boost,并调到最前面。选择Library files,加入D:\STLport\lib,并调到最前面。
2.打开菜单Project->Properties,在“Configration Propeities”的“General”页,设置“Character Set”为Not Set。
3.在“C/C++”的“Code Generation”页,选择“Runtime Library”为多线程(realease版为/MT,Debug版本为/MTD。
4.如果为Debug工程,则应该在Preprocessor页中定义宏“_STLP_DEBUG”和“_STL_DEBUG”以便使用STLport。
、
具体参见《Boost程序库完全开发指南》 罗剑锋著
- Win7_64位系统下,使用VS2010编译stlport库和Boost库
- win7_64+vs2010编译boost
- VS2010下安装和使用STLport库
- boost和STLport在vs2010环境下的编译
- VS2010 + STLport + Boost 的编译使用
- VS2010 + STLport + Boost 的编译使用
- VS2010 + STLport + Boost 的编译使用
- VS2010下使用STLport编译boost时遇到的一些问题
- VS2010下安装和使用boost库
- VS2010下安装和使用boost库
- 编译安装STLport和Boost
- 关于Boost库在VS2010下的编译使用(转)
- 关于Boost库在VS2010下的编译使用(转)
- vs2010下编译使用boost
- Win7下VS2010使用STLPort .
- Win7下VS2010使用STLPort .
- Win7下VS2010使用STLPort .
- vs2012-vs2010使用stlport库的配置
- 4.0音频系统HAL初探 tinymix
- 简单选择排序
- 主机资源查看
- Nero 2014 Platinum 白金版 V 15.0.02200 官方版
- shell数组小结
- Win7_64位系统下,使用VS2010编译stlport库和Boost库
- SSH简介及工作机制
- 优化统一程序风格
- 【(动画版)解析三层架构】你可以不知道,你不能不知道!
- 几种地图定位方法
- ImageView 圆环旋转
- 方便快捷的布局法——利用960GS框架
- asp调用webservice
- 设计模式C++学习笔记之三(Singleton单例模式)