位置: 编程技术 - 正文

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

  • 增值税什么时候计入成本
  • 开外经证需要预缴税几个点
  • 全额抵扣的发票怎么申报增值税
  • 航天税务软件
  • 城市维护建设税优惠政策
  • 完工产品成本计入什么科目
  • 已上传的红字发票怎么打印
  • 虚开增值税普通发票罪的立案标准
  • 填写银行结算凭证的有关印鉴,应集中由谁保管
  • 非上市公司自然股权转让
  • 土地增值税扣除系数
  • 转让无形资产专利权的账务处理
  • 进行利润分配时必须遵循的原则
  • 车贷抵押金计入会计科目?
  • 公司发工资是私账
  • 企业的车辆购置税计入哪个科目
  • 5%征收率的适用范围
  • 土地款印花税计入无形资产吗
  • 应交增值税账面数
  • 所得税汇算清缴后发现有误怎么办
  • 增值税普通发票对方作废了怎么办?
  • 装修增值税普通发票几个点
  • 水利建设专项收入
  • 支票大写金额书写转换
  • 纺织厂收购棉花如何计税?
  • 非税收入票据如何打印
  • 推荐几个优秀的电影
  • 个税手续费返还属于政府补助吗
  • 交罚金怎么交
  • laravel learnku
  • php使用while循环计算1到100的和
  • php写json
  • php预定义常量要使用define函数进行定义
  • 笔记本win10玩红警怎么全屏
  • 应交税费应交增值税转出未交增值税是什么意思
  • macbook怎么安装macos
  • uniapp接入支付宝
  • windows7旗舰版最新版本
  • 孚日山脉猞猁
  • 本月增加的无形资产数量
  • 新企业所得税税前扣除政策
  • novelai本地部署电脑要求
  • jquery 兄弟选择器
  • websocket前端vue
  • phpcms默认密码
  • 展会门票怎么入账
  • 收到一分钱的红包表情包
  • wordpress站点地址如何设置
  • 股票印花税和佣金是一样的吗
  • 印花税可以年底报一次
  • 本年度企业所得税怎么算
  • 销项发票什么意思
  • 公允价值变动损益属于什么科目
  • 本月损益类未结转为零的一级科目怎么操作
  • 估价入帐能跨年吗
  • 优惠的会计分录
  • 作废的金额包含在总额里面吗
  • 企业贷款利息费用会计分录
  • 股权稀释违法吗
  • 增资扩股影响原股东的利益吗
  • 微信扣除手续费超过多少免费
  • mysql日期用什么数据类型
  • mysql命令导入
  • sql语句提取字符串中数字
  • ubuntuone
  • vmware vnc连接
  • windows 查看图片
  • win7怎么看最近访问位置
  • win10mobile下载官网
  • linux shell alias
  • win8账户锁定无法登录
  • linux进程切换 宋宝华
  • if条件程序
  • 安卓手机管家是什么
  • 地税网上办税服务厅
  • 江苏电子税务局社保缴费打印
  • 签订税务三方协议
  • 辽宁税务遴选
  • 我的世界服务器怎么创建
  • 研发人员范围
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设