linux boost 64位编译,Boost在Linux 64 下的编译
1. 下载最新版的boost
wget https://dl.bintray.com/boostorg/release/1.67.0/source/boost_1_67_0.tar.gz
2. 解压
3. 执行如下脚本
functionmake_boost() {
deploy=$(pwd)
$deploy/b2 stage --toolset=gcc-4.9 --stagedir="$deploy/gcc" \
architecture=x86 address-model=64\
link=static runtime-link=static threading=multi \--without-python
#--with-system --with-thread --with-date_time
}functionmake_issue() {
gcc_path=/opt/rh/devtoolset-3/root/usr/bin/g++version=$($gcc_path -dumpversion | awk -F'.' '{printf("%s.%s\n", $1, $2);}')
echo"using gcc : $version : $gcc_path ;" > tools/build/src/user-config.jam
}
make_issue
make_boost
第一步是为了启用4.9的编译器。
make的参数解释如下
下面对上面的bjam的各个参数进行解释说明:
1. stage/install:
stage表示只生成库(dll和lib),install表示附带安装功能,会生成包含头文件的include目录。推荐使用stage,因为install生成的这个include目录实际就是boost安装包解压缩后的boost目录(H:\boost\boost_1_55_0\boost,只比include目录多几个非hpp文件,都很小),所以可以直接使用,而且不同的IDE都可以使用同一套头文件,这样既节省编译时间,也节省硬盘空间
2. toolset:
表示编译器工具,默认自动检测,安装了多个编译器的时候可以使用此属性。可选的如borland、gcc、msvc(VC6)、msvc-12.0(VS2013)、msvc-14.0(VS2015)等,我安装的是VS2008,所以是msvc-9.0(如果你是VS2005,可以使用msvc-8.0 VS2010是msvc-10.0)
3. stagedir/prefix:
stage时使用stagedir,install时使用prefix,表示编译生成文件的路径。推荐给不同的IDE指定不同的目录,例如这里是VS2008对应的是 H:\boost\boost_1_55_0\vc90
如果使用了install参数,那么还将生成头文件目录,vc90 对应的就是 H:\boost\boost_1_55_\boost\bin\vc90\include\boost_1_55_0\boost
4. architecture
表示架构,也就是你的CPU架构,所以是x86
5. address-model
地址长度,32表示编译32位的库文件,64表示编译64位的库文件
6. link
生成动态链接库还是静态链接库。生成动态链接库需使用shared方式,生成静态链接库需使用static方式。一般boost库可能都是以static方式编译,因为最终发布程序带着boost的dll感觉会比较累赘
7. runtime-link
动态还是静态链接C/C++运行时库。同样有shared和static两种方式,这样runtime-link和link一共可以产生4种组合方式,各人可以根据自己的需要选择编译
GCC下,在生成动态库(–link=shared)时,就不允许进行静态链接到C运行库(或C++标准库)
8. threading
单线程还是多线程编译。一般都写多线程程序,当然要指定multi方式了;如果需要编写单线程程序,那么还需要编译单线程库,可以使用single方式
9. debug/release:
编译debug/release版本。一般都是程序的debug版本对应库的debug版本,所以两个都编译
10. without/with:
选择不编译/编译哪些库。这里我们指定要编译哪些库,就使用了witth,注意写法:--with-thread --with-date_time,同样,如果不想编译哪些库,可以类似写法--without-thread
参考资料
https://blog.csdn.net/yzf279533105/article/details/77658367
linux boost 64位编译,Boost在Linux 64 下的编译相关推荐
- 64位Windows2003 Enterprise sp2 上64位Oracle10.2.0.1升级到Oracle10.2.0.3具体步骤
64位Windows2003 Enterprise sp2 上64位Oracle10.2.0.1升级到Oracle10.2.0.3具体步骤 错误描述:64位的Oracle10.2.0.1版本在64位W ...
- WindowsServer2012 R2 64位中文标准版(IIS8.5)下手动搭建PHP环境详细图文教程(二)安装IIS8.5...
//来源:http://www.imaoye.com/Technology/WindowsServer2012R264IIS85.html 阿里云服务器ECS Windows Server 2012 ...
- oracle10 64位odbc,图文教你64位win10添加oracle odbc驱动时提示无法加载oracle如何解决...
现在电脑已成为我们工作生活的一部分,相信大家在操作电脑时一定会遇到这样那样的问题,64位win10添加oracle odbc驱动时提示无法加载oracle如何解决这个问题就是我们经常会遇到的,这样的问 ...
- 在安装project2010 64位时提示 “无法安装64位office,因为已有32位版本”解决方法
在安装project2010 64位时提示 "无法安装64位office,因为已有32位版本"解决方法 参考文章: (1)在安装project2010 64位时提示 "无 ...
- 解决连接oracle报错 尝试加载Oracle客户端库时引发BadImageFomatException。如果在安装64位Oracle客户端组件的情况下以32位模式运行,将出现此问题的报错。
解决连接oracle报错 尝试加载Oracle客户端库时引发BadImageFomatException.如果在安装64位Oracle客户端组件的情况下以32位模式运行,将出现此问题的报错. 参考文章 ...
- windows 下编译64位的 Boost 1. 61. 0
一直以来都是在Win32环境下Build和使用boost,但现在基本上每天都在64位Win7下工作,所以很有必要把这几天的经验总结下来. 1. 下载并解压boost 1.61.0 压缩包 2. 解压并 ...
- arm linux 64位,微软准备让Linux作为64位ARM Hyper-V客户机运行
原标题:微软准备让Linux作为64位ARM Hyper-V客户机运行 虽然微软的Hyper-V虚拟化管理程序和他们的Azure云在很大程度上是以x86_64为中心的,但随着Linux 5.13内核的 ...
- 手动给64位centos6.3版本linux的firefox安装Adobe flash player
1. 从Adobe的官网下载Adobe Flash 播放器,网址是:http://get.adobe.com/cn/flashplayer/ 2. 在版选择框里选择<.tar.gz,适用于其它l ...
- 查看系统架构是32位还是64位--用Enki学Linux系列(15)
最简单的方式是执行: $ uname -m 这将输出 x86_64 或者 i386/i586/i686. 你可以使用-a参数获得更多内容: $ uname -a 32位系统的结果: Linux XXX ...
- 锁定文件失败 打不开磁盘“D:\Documents\Virtual Machines\Red Hat Enterprise Linux 6 64 位\Red Hat Enterprise Linux
问题描述: 在oracle数据库添加数据文件时,发现失败,一直执行中.最后发现虚拟机已经宕机. 重启虚拟机时,报错如下: 解决过程: 首先,发现D盘慢了,使用了100%,删除一些无用的文件,移动一些大 ...
最新文章
- express给html设置缓存,webpack + express 实现文件精确缓存
- 用python解“BCD解密”问题
- Tinyhttpd源码--实现http服务器
- P1459 三值的排序 Sorting a Three-Valued
- 微软Cloud+AI本地化社区贡献指南
- 洛谷P1757 通天之分组背包 [2017年4月计划 动态规划06]
- MySql、PowerDesigner、JDBC 的关系
- 【python基础知识】如何查看pycharm中已经安装的插件
- 模板方法模式(模板方法设计模式)详解——小马同学@Tian
- Android开源项目库汇总
- Mysql(下载、安装、环境配置详细图文)
- 测试银行卡号必看(长度限制及卡号字符类型总结)
- Python代码cProfile耗时分析及可视化
- PMP项目管理备考资料都有哪些?
- [深度学习] - 网络模型训练过程的 loss 变化分析 (loss / val_loss / test_loss)
- 计算机原理电梯控制系统设计,《智能电梯控制系统的实现》-毕业论文(设计).doc...
- 【软件推荐】synctoy 本机同步的最好的软件 本机不同目录 本机硬盘与移动硬盘同步
- cad拉伸怎么用_【cad比例缩放教程】cad缩放怎么用?
- Linux DBUS总线
- 剑指offer 专项突破版 73、狒狒吃香蕉
热门文章
- flask mysql环境配置_Flask干货:访问数据库——Flask-SQLAlchemy初始化
- java 推送消息页面_Notification API,为你的网页添加桌面通知推送
- api如何使用_记录API:技术作家和工程师指南
- nacos 公共_Nacos数据模型
- php定界符号,PHP定界符的使用及注意事项
- invalid signature_php,微信开发JSSDK遇到的问题 config:invalid signature
- php 受保护类,php中如何在外部修改类的私有或受保护属性值
- Linux中read接收用户输入
- Swift 数组、字典
- ITM_win_agentCPU内存占用较高