位置: 编程技术 - 正文

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

编辑:rootadmin
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实现多线程的方法)

  • 手机个人所得税app下载官网
  • 文化事业建设费减免政策
  • 黄金消费税计税依据
  • 年度纳税总额的时间怎么计算
  • 减资账务处理基准日 会计视野
  • 购货方要求退货合理吗
  • 可交换债券与可转换债券的区别在于
  • 企业运费发票需要缴纳印花税吗附政策依据
  • 水利事业单位基建并账分录怎么写?
  • 小规模纳税人物流服务税率
  • 个人开机械租赁发票需要什么
  • 去年的成本今年入账会计分录
  • 诉讼过程中
  • windows11怎么设置壁纸
  • 鸿蒙系统控制中心
  • unsupportedfirsthd解决办法
  • 核定征收印花税计算公式
  • 结转收入怎么计算
  • 分公司可以独立诉讼吗
  • 公司有长期挂账的说法吗
  • 商会账目
  • 递延性负债
  • 应付票据到期怎么处理
  • 天猫魔合
  • 消耗性生物资产减值准备一经计提不得转回
  • agmservice.exe是什么
  • uniapp示例
  • php二维码解码
  • 发放员工奖励
  • ✝️ 强制 Vue 重新渲染组件的正确方法
  • 前端密码加密
  • 出口退免税备案
  • 独立费用包括
  • 土地转让注意事项有哪些
  • php用正则匹配网页的logo
  • 商家为消费者提供餐具
  • 增值税发票丢失罚款多少
  • 个人独资企业所得税弥补亏损
  • 小规模纳税人怎么核定税种
  • 研发失败能做加工企业吗
  • 利用职务之便谋取私利是什么罪
  • 生产车间劳务费会计分录
  • 法人转钱入公户要交税吗
  • 发放工资的转账支票收款人
  • 会计常用分录
  • 季度缴纳企业所得税可以弥补亏损吗
  • 股东以固定资产入股会计处理
  • 进项税转出金额怎么算
  • 记账凭证会计核算形式的程序
  • 生产企业电费怎么做账
  • 工地上报销项目有哪些
  • 微信公众号注册时间在哪里看
  • 开服务业发票要交印花税吗?
  • 收不到物业费不想干了
  • 货款扣除质量赔款
  • 库存现金的主要活动
  • 单身租房子
  • 一般什么是差旅费呢
  • 工程已完工未开发票确认收入吗
  • 资产质量的相对性举例说明
  • 企业建账流程图
  • sql中的非逻辑
  • win8 net framework
  • mac如何恢复到出厂系统版本
  • centos zsh
  • shell32.exe - shell32是什么进程 有什么用
  • win7电脑桌面图标不见了右键也没用
  • win10系统怎么配置交换机
  • linux ntp查看
  • 安卓网页开发工具
  • babel es6转es5原理
  • android 左右滑动 库
  • js新开一个窗口
  • node中的事件循环
  • Unity3D游戏开发标准教程
  • 南阳市税务稽查局举报电话
  • 宁波税务总局官网
  • 代发工资法律依据
  • 国有土地使用权出让和转让条例
  • 树叶加树叶等于几
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设