位置: 编程技术 - 正文

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

  • 增值税开票软件在哪下载
  • 房租确认后能不退押金吗
  • 库存现金账务处理
  • 营业外收入缴纳税款
  • 个税申报导入上月数据
  • 个体工商户生产经营所得税税率表2021
  • 工程结算会计科目及账务处理
  • 结转完工产品生产成本会计科目
  • 机动车换车
  • 非居民企业出租境内不动产
  • 企业支付给职工的工资和职工福利应当计入
  • 项目部分回款是什么意思
  • 机关单位伙食
  • 贷款能不能开发票
  • 报税没有申报现金流量表
  • 转让商业承兑汇票显示银行拒绝交易
  • 小公司发工资怎么做账
  • 现金福利需要发票吗
  • 收到社保补贴计入什么科目
  • 当期应提取的坏账准备金
  • 固定资产折旧率是多少
  • 发放员工过节费
  • 生育津贴支付方式
  • win7提示windows进行了未授权的更改
  • PHP mysql_result()函数使用方法
  • php fork
  • 价外费用分录
  • 微信小程序不方便
  • 退税的项目有哪些
  • codelite怎么进行编译
  • php购物车订单处理
  • 已经认证抵扣的发票怎么做账
  • 建筑行业施工规范有哪些
  • 前端axios是什么
  • 小规模纳税人交税怎么做会计分录
  • javaweb购物车设计报告
  • vue watcher
  • PHP中set_include_path()函数相关用法分析
  • php中的数据类型有哪些?
  • 报废机器设备如何缴纳增值税
  • 设备计提折旧从什么时候开始
  • 织梦程序
  • 规模以上企业纳税要求
  • 金蝶软件修改凭证
  • 进项税额不得抵扣的情况
  • 未认证和未抵扣的区别
  • 企业报税表格填写
  • 固定资产处置需要交税吗?
  • 上市公司回购股票多久可出售
  • 提取法定盈余公积金的比例是多少
  • 影响企业所得税的因素
  • 所得税费用要结转本年利润吗
  • 收到商业汇票怎么入账
  • 计提工会经费的会计分录
  • 本月没有销售怎么做账
  • 母子公司资金往来财税问题
  • 应付工资的计算公式用友
  • 本单位职工可以在本单位兼职吗
  • 管理会计的职能作用是
  • win10系统浏览器在哪
  • linux的ntp服务
  • windows sky high
  • windows8启动项在哪里
  • Linux系统安全配置包括
  • windows7回收站图标没了
  • windows10周年纪念版
  • 横版格斗rpg手游
  • unity3d跨平台
  • 理解和运用的重要性要站在哪个的视觉去判断
  • android点击事件onclick用法
  • js如何使用
  • javascript可以做动态网页吗
  • 付了120救护车费怎么报销
  • 沈阳市地方税务局
  • 纳税人未按照规定纳税
  • 广西国税发票查询系统
  • 三证合一 税务
  • 掌上海关怎么查询
  • 海珠税务局许丰
  • 社保卡手机缴费怎么交不了
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设