Boost下载安装编译配置使用指南(含Windows、Linux以及ARM Linux)
来源:互联网 发布:c语言判断数字大小 编辑:程序博客网 时间:2024/06/02 18:01
内容很详细
转载自: http://www.cnblogs.com/wondering/archive/2009/05/21/boost_setup.html
标题: 【原】Boost下载安装编译配置使用指南(含Windows、Linux以及ARM Linux)
——更新于2011/7/19,目前我已对boost的安装和使用有了新的认识,因此也会对两年前写的这篇文章做大幅修改,网上转载版本泛滥,请以本文为准。
——更新于2013/3/20,增加ARM Linux下的编译配置方法。
理论上,本文适用于boost的各个版本,尤其是最新版本1.48.0;适用于各种C++编译器,如VC6.0(部分库不支持),VS2003,VS2005,VS2008,VS2010,V2012,gcc,arm-linux-gcc,C++ Builder等。
先总结一下Windows系统。
一、下载
首先从boost官方主页http://www.boost.org/下载最新版boost安装包,或者使用Subversion获取最新版本,地址是:http://svn.boost.org/svn/boost/trunk。本人现在一般都用svn,这样可以很方便的进行update和build,而不是每次都下载新的安装包并rebuild。
二、安装
如果是使用下载的安装包,那么请将boost安装包解压至本地目录,如:E:\SDK\boost;如果是用svn的,也可以将boost的代码checkout到这个目录。因为boost一部分类是需要编译成库才能使用的,所以我们还需要准备好boost专用的编译辅助工具bjam。在命令提示符(cmd.exe)中执行根目录下的bootstrap.bat,编译后的bjam.exe会自动拷贝到该目录下(bjam必须与boost-build.jam在同级目录)。
三、编译
下面详细解释一下每个参数的含义:
需要注意的是,如果使用VS2008编译boost(其他版本VC未作测试,可能也有类似问题),那么假如你调用boost的主程序添加了_BIND_TO_CURRENT_VCLIBS_VERSION预定义宏来强制使用最新版本的Windows CRT库,那么你的boost也需要添加这个预定义宏来进行编译,否则会导致程序因为各模块使用的CRT库版本不统一而出现“在某些机器上运行提示‘由于应用程序配置不正确,应用程序未能启动’的问题”,关于该问题请参考我的另外一篇文章:【原】解决VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”的问题。添加该预定义宏的方法是:打开boost安装根目录下的boost\config\compiler\visualc.hpp,在最上面增加:
#ifndef _BIND_TO_CURRENT_VCLIBS_VERSION
#define _BIND_TO_CURRENT_VCLIBS_VERSION 1
#endif // _BIND_TO_CURRENT_VCLIBS_VERSION
这种方法修改了boost的源码,并非我所愿, 但是无奈没有找到更好的方法,如果有人知道希望能够留言告诉我。
2、占用若干小时的编译时间
3、头文件和库文件存放于C:\Boost(本人非常反感)
4、生成的很多文件可以永远也用不上
四、配置
添加到IDE相应的路径下面即可。
五、使用
关于boost的auto-link机制,详细可以看看boost\config\auto_link.hpp里的代码,很容易可以读懂,并且值得我们学习。
六、Linux下编译与配置的区别:
export CPLUS_INCLUDE_PATH
LIBRARY_PATH=$LIBRARY_PATH:"/mnt/hgfs/sdk/boost/bin/gcc/lib"
export LIBRARY_PATH
这样就可以直接使用boost的头文件和库文件了,并且与Windows共用一套代码,非常方便。
七、ARM Linux下编译与配置的区别:
编辑project-config.jam,修改using gcc这行。改为:
using gcc : arm : arm-linux-gcc ;
注意空格不能删掉,必须保留;arm-linux-gcc可以换成你自己使用的编译器。使用bjam开始编译:
./bjam stage
注意这里,编译arm就不能像上面Windows和Linux那样带许多参数,否则编译出错;在网上看到别人可以使用--with或--without属性,我没尝试,应该是可以的,但其他参数可能就不支持了,有兴趣的话可以试验一下。
- Boost下载安装编译配置使用指南(含Windows、Linux以及ARM Linux)
- 【原】Boost下载安装编译配置使用指南(含Windows、Linux以及ARM Linux)
- Boost下载安装编译配置使用指南(含Windows、Linux以及ARM Linux)
- Boost下载安装编译配置使用指南(含Windows、Linux以及ARM Linux)
- Boost下载安装编译配置使用指南(含Windows、Linux以及ARM Linux)
- Boost下载安装编译配置使用指南(含Windows、Linux以及ARM Linux)
- Boost下载安装编译配置使用指南(含Windows、Linux以及ARM Linux)
- Boost下载安装编译配置使用指南(含Windows和Linux)
- Boost下载安装编译配置使用指南(含Windows和Linux)
- Boost 下载安装编译配置使用指南(含Windows和Linux)
- Boost下载安装编译配置使用指南(含Windows和Linux)
- Boost下载安装编译配置使用指南(含Windows和Linux)
- Boost下载安装编译配置使用指南(含Windows和Linux)
- Boost下载安装编译配置使用指南(含Windows和Linux)
- Boost下载安装编译配置使用指南(含Windows和Linux)
- Boost下载安装编译配置使用指南(含Windows和Linux)
- Boost下载安装编译配置使用指南(含Windows和Linux)
- Boost下载安装编译配置使用指南(含Windows和Linux)
- gdal的矢量栅格化接口GDALRasterizeLayers使用(一)
- POJ 3468 A Simple Problem with Integers (线段树—成段覆盖)
- C++的I/O(vc版)(六)
- Myeclipse 导入 tomcat 源码
- oracle vpd 虚拟专用数据库
- Boost下载安装编译配置使用指南(含Windows、Linux以及ARM Linux)
- Linux2.6 内核进程调度分析
- windows下 直接点击startup.bat 启动tomcat服务
- CSS3之圆角border-radius
- 《C++游戏开发》十七 游戏中的寻路算法(三):A*算法原理
- yii 登录用户数据获取 (yii学习)
- cocos2d-x TestLua 之 CCEaseElastic CCEaseBounce CCEaseBack CCSpeed
- 大整数乘法和除法
- socket多线程网络服务器 java