位置: 编程技术 - 正文

boost全平台编译方法(boost源码编译)

发布时间:2024-02-27
0.通用规则

推荐整理分享boost全平台编译方法(boost源码编译),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:boost 代码,boost 编程,boost源码编译,boost编程指南,boost编程指南,boost编程指南,boost源码编译,boost 编译,内容如对您有帮助,希望把文章链接给更多的朋友!

boost自带一套编译工具bjam,bjam本身是跨平台的,并且也要自行编译出来。在boost目录下有bootstrap.sh和bootstrap.bat两个脚本分别用来编译*nix和windows下的bjam。bootstrap脚本可以传入参数,以在编译bjam过程中生成特定的编译boost的配置。这些配置保存在新生成的project-config.jam里,但还可以在运行bjam的时候再传入参数来覆盖。同时生成的b2是bjam的代理,运行哪个的效果都差不多。 在终端下运行 bjam --show-libraries 会列出所有要编译的库。 真正编译时,可以传入–with-xxx来选择编译哪些库,或者传入–without-xxx来选择不编译哪些库。如果不传则会读取project-config.jam的设置,如果也没有则是编译全部的库。 更多的参数可以用 bjam --help 来查看。例如编译成静态库还是动态库,运行时库是静态的还是动态的,编译完后要不要安装等。

注意: 旧版本的boost可能会存在编译问题,尽量用新的就好。bjam在*nix和windows支持的参数有不同。

1. iOS平台编译环境:

OS X Yosemite ..3 Xcode 6.3.1(6D) boost 1./1.

步骤:

把下面的脚本保存成build_boost.sh,直接运行即可:

集成到Xcode

做iOS的同学还是习惯完全用Xcode的吧。所以可以把上面的脚本集成到xcode里。在某个工程中,Xcode菜单File->New->Target…->Other->Aggregate->取名boost,Finish->在这个target的属性中选择Build Phases->点击左边的+号->New Run Script Phase->填入bash ./build_boost.sh->自己再填好库文件搜索路径和链接各个boost库。主target还要设置依赖boost target,免得boost编译前就链接以致错误。

2.Android平台编译

Android的编译方法有两种:一种是和iOS一样,自己覆盖project-config.jam引入NDK的编译工具设置,然后用bjam编译;另一种是自己写Android.mk。自己写project-config.jam因为要兼顾很多种CPU架构而(无论是写jam还是主工程的Android.mk都)较为麻烦,所以本文用后者。

环境

Ubuntu . bit / Linux Mint bit NDK rc boost 1./1.

步骤

以下是Android.mk的内容:

Application.mk的内容:

这是最普通的做法,如果要加编译参数,还得自己琢磨下。例如不要rtti,就得LOCAL_CFLAGS += -DBOOST_NO_RTTI。

3.Windows平台编译环境boost全平台编译方法(boost源码编译)

Windows 7 旗舰版 bit SP1 Visual Studio Ultimate boost 1./1.

步骤

以下是build_boost.bat的内容,直接执行即可:

注意这里生成的是MTd和MT。MD的话runtime-link=shared。

集成到VS

工程属性->Configuration Properties->Build Events->Pre-Link Event->Command Line->填入build_boost.bat 还有设置好库搜索路径和依赖的库。 Windows的boost有个特点,代码里有#pragma comment(lib, "xxxx"),所以可以不设置依赖的库。但是如果工程设置不对而有link错误,那还是手动加进去吧。

4.Linux平台编译环境

Ubuntu . bit / Linux Mint bit gcc version 4.8.2 (Ubuntu 4.8.2-ubuntu1) boost 1./1.

步骤

直接编译。以下是终端命令

这样就能在boost_1__0/stage/lib/下找到所有的库文件。

如果用cmake来组织编译,以下是主工程的CMakeLists.txt里的部分内容:

5.Mac OS X编译环境

OS X Yosemite ..3 Xcode 6.3.1(6D) boost 1./1.

步骤

和Linux相同。集成到Xcode的步骤和iOS类似。

转载请注明出处:

Android实现两次按下返回键退出 说明:exitTime的定义:定义成全局变量privatelongexitTime=0;下面给出onKeyDown方法的代码@OverridepublicbooleanonKeyDown(intkeyCode,KeyEventevent){if(keyCode==KeyEvent.KEYCODE_BACKevent

Android设计模式--观察者模式 问题:在Android中,根据Android的事件树,我们知道:在与屏幕按键、触摸、滑动等操作与应用进行交互时触发的相关事件中,交互事件是沿着事件树自顶

android页面多状态处理

标签: boost源码编译

本文链接地址:https://www.jiuchutong.com/biancheng/387421.html 转载请保留说明!

上一篇:判断手机网络连接状态(怎么检查手机网络)

下一篇:Android实现两次按下返回键退出(android实现多线程的方法)

  • 4s店事故处理流程
  • 房地产企业税率为5销售水泥怎么算
  • 小规模纳税人批发机动车
  • 企业所得税税款可以扣除吗
  • 一般纳税人跨月红冲专票怎么报税
  • 服装公司的吊牌是什么
  • 施工单位的产值报告模板
  • 门票可以直接入账吗
  • 提供教育服务免征增值税文件
  • 小规模纳税人标准2019
  • 收付转凭证如何排序装订
  • 先进制造业企业按照当期可抵扣进项税额
  • 从农民个人手里获取资源
  • 预付办公室装修款
  • 关税完税价格包含关税吗
  • 减免税款余额方法有哪些
  • 其他应付款坏账怎么处理
  • 进口产品需要交税吗
  • 购物卡发票能否抵扣
  • 理财公司收到客户投资款怎么处理
  • 技术开发免征增值税属于普通零税率项目么?
  • win11任务栏白色卡死
  • php的数组函数
  • 摊销费用的会计科目
  • 什么叫存量房转移登记
  • 在途物资和材料采购属于存货吗
  • php怎么新建
  • 税收原则的含义
  • 处置工程物资取得净收益
  • 如何计算企业所得税税负
  • 应交税金 应交税费
  • 利润分配怎样做分录
  • vue子组件监听父组件
  • userpasswords
  • 固定资产计提折旧的方法
  • 质量赔偿金 计入什么科目
  • excel随机抽取n行数据
  • 厂区道路算建筑面积吗
  • 银行电子承兑到期后怎么操作
  • 差旅费报销注意哪些问题
  • 内资企业如何进国企
  • sql server操作教程
  • 删除mysql57服务
  • 账务处理程序的定义
  • 固定资产公司
  • 个体工商户实收资本可以填0吗
  • 诉讼期间的利息法院支不支持
  • 收到捐赠的账务处理和涉税处理
  • 预收账款和预付账款怎么理解
  • 固定资产可资本化的后续支出
  • 管理费用多计提了怎么冲
  • 增值税专用发票电子版
  • 跨年的管理费用怎么处理
  • 企业间借贷是否合法2018
  • 废料卖出算哪种收入
  • 管理费用标准制定
  • mysql的join有几种
  • qq8.2.1版本下载正式版
  • Centos安装dig命令
  • 什么叫脚本错误
  • centos dvd安装
  • mac运行很卡怎么办
  • win7本地磁盘图标变了
  • win102020h2版本
  • 程序中map是什么意思
  • win7电脑显示器颜色不正常怎么办
  • windows 10移动版
  • win10桌面图标排列设置
  • android游戏开发框架
  • js去除hover样式
  • 详细说明js的执行过程
  • Node.js中的事件循环是什么
  • javascript+css3 实现动态按钮菜单特效
  • python中对文件操作的一般步骤
  • 使用jquery实现的项目
  • 税率是从什么时候有17%改为13%的呢
  • 我的电脑为什么没有微软商店
  • 单据整理方法
  • 蜀山区税务局网站首页
  • 河南税筹公司
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号