BOOST1.54简化编译
1、设置环境变量
BOOST_ROOT
E:\Projects\00.CODE.SDK\boost_1_54_0
2、运行bootstrap.bat
3、运行:
bjam install --toolset=msvc-9.0 --without-python --prefix="E:\SDK\boost_1_54_0\bin\vc9" link=static runtime-link=shared threading=multi debug release
附录:
节选自某人博客
一、bjam每个参数的含义,请务必仔细看完:
stage/install:stage表示只生成库(dll和lib),install还会生成包含头文件的include目录。(E:\SDK\boost_1_54_0\bin\vc9\include\boost-1_54,比原BOOST目录下include目录多几个非hpp文件,略小),可以直接使用。
toolset:指定编译器,可选的如borland、gcc、msvc(VC6)、msvc-9.0(VS2008)等。
without/with:选择不编译/编译哪些库。这可以根据各人需要选择,默认是全部编译。需要注意,如果选择编译python的话,是需要python语言支持的,应该到python官方主页http://www.python.org/下载安装。
stagedir/prefix:stage时使用stagedir,install时使用prefix,表示编译生成文件的路径。推荐给不同的IDE指定不同的目录,如VS2008对应的是E:\SDK\boost_1_54_0\bin\vc9\,VC6对应的是E:\SDK\boost_1_54_0\bin\vc6,否则都生成到一个目录下面,难以管理。如果使用了install参数,那么还将生成头文件目录,vc9对应的就是E:\SDK\boost_1_54_0\bin\vc9\include\boost-1_54\boost,vc6类似。
build-dir:编译生成的中间文件的路径。默认在目录(BOOST_ROOT/bin.v2)下,等编译完成后可将这个目录全部删除(没用了),所以不需要去设置。
link:生成动态链接库/静态链接库。生成动态链接库需使用shared方式,生成静态链接库需使用static方式。一般boost库可能都是以static方式编译,因为最终发布程序带着boost的dll感觉会比较累赘。
runtime-link:动态/静态链接C/C++运行时库。同样有shared和static两种方式,这样runtime-link和link一共可以产生4种组合方式,各人可以根据自己的需要选择编译。一般link只选static的话,只需要编译2种组合即可,即link=static runtime-link=shared和link=static runtime-link=static。
threading:单/多线程编译。一般都写多线程程序,当然要指定multi方式了;如果需要编写单线程程序,那么还需要编译单线程库,可以使用single方式。
debug/release:编译debug/release版本。一般都是程序的debug版本对应库的debug版本,所以两个都编译。
如果图省事,不想了解这么多,那么有简单的方法,可以使用命令:
bjam --toolset=msvc-9.0 --build-type=complete
直接指定编译器以完全模式编译即可,这样可以满足今后的一切使用场合,但同时带来的后果是:
1、占用3G以上的硬盘空间
2、占用若干小时的编译时间
3、头文件和库文件存放于C:\Boost
4、生成的很多文件可以永远也用不上
二、配置
include目录:E:\SDK\boost_1_54_0\bin\vc9\include\boost-1_54
library目录:E:\SDK\boost_1_54_0\bin\vc9\lib
添加到IDE相应的路径下面即可。
BOOST1.54简化编译的更多相关文章
- windows7 编译boost1.54
先去下载boost1.54 for windows原码.原来有个安装工具现在已经停止维护了,我试了旧版,已经安装不了. 这是它们的网站:http://www.boostpro.com/download ...
- Ubuntu 13.04编译boost1.54
因为要用基于GCC4.8.1的boost最新版本的库,默认apt-get install 安装的是boost1.53, 并且基于GCC4.7.3,不是我想要的.所以决定下载源代码自己编译. 下载(后面 ...
- boost-1.53源代码编译
1.下载源代码.首先得明确,boost大多数库都仅仅有头文件.链接时不需Lib文件:下面库须要单独编译成库: Boost.Filesystem Boost.GraphParallel Boost.IO ...
- Yocto和Android编译命令的简化和自动完成的实现
简化编译命令 无论是在Android编译系统中,还是在Yocto编译系统中,要编译一个目标,输入命令都有点费事. Yocto系统: source setup-environment $FOLDER b ...
- mongodb c++ driver(2.53)windows编译
编译环境: (1) 下载python2.7, 使用x86_32位,因为scons只有32位安装包可用: (2) 下载scons2.3.0,The current production release ...
- 编译和使用 MySQL C++ Connector
记录编译 mysql C and C++ connector 和简单访问数据库. 环境: vs2012, mysql 5.6.13, 基于x64 0. 软件包 mysql http://dev.my ...
- Thrift-0.9.2编译安装
确定安装好了boost1.54以上 确定libevent版本大于1.0 只编译生成cpp库 ./configure --without-java --without-lua --without-pyt ...
- Linux 下编译openjdk
操作系统ubuntu14.04 openjdk版本 7u4 openjdk7u4可以在https://jdk7.java.net/source.html下载 一.构建编译环境 sudo apt-g ...
- C语言编译过程
GCC编译C源码有四个步骤: 预处理-----> 编译 ----> 汇编 ----> 链接 一. 编译和链接的流程 C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在 ...
随机推荐
- 循序渐进Python3(十一) --2-- web之javascript
JavaScrip JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之后 ...
- (转)maven配置之pom.xml配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- java工程笔记
start.sh #TITLE=jetty DEPLOY_PATH=$(cd $()/../ && pwd) export DEPLOY_PATH CLASSPATH=${CLASSP ...
- 我的新博客:www.wangyufeng.org
新博客:www.wangyufeng.org 博客园的博客不更新啦.
- VS工程里的文件都是啥?如何打包? 2015-03-04
打完补充:以下内容全部是我一家之言,只是愿意分享,内容如有不妥还请见谅. ====================================================== 刚才接收了一份代 ...
- 字符串截取函数-c语言
1 #include<stdio.h> 2 #include<stdlib.h> 3 4 char* substring(char* ch,int pos,int length ...
- css元素居中方法
几种居中方式,分情况使用: 1.已知父盒子宽度,子盒子宽度: div{ transform: translate(-50%,-50%); //margin-left: - 自身宽度一半: positi ...
- Android新建数据库和建表demo
public class DBHelper extends SQLiteOpenHelper{ public final static String DATABASENAME ="diary ...
- 原生js arguments 用法
http://note.youdao.com/noteshare?id=fcd201e872e1ede16ce0057a1909f613
- 【WMware】关于VMware服务器虚拟化管理之服务器容量扩充
将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,我们不再受限于物理上的界限,而是让CPU.内存.磁盘.I/O等硬件变成可以动态管理的“资源池”,从而提高资源的利用率 ...