当前位置: 首页 > news >正文

潍坊企业网站北京房产网58同城网

潍坊企业网站,北京房产网58同城网,电子网站建设方案,百度推广和网站建设我在上一篇文章中介绍了curl和openssl的编译方式(linux下编译鸿蒙版curl、openssl-CSDN博客),这篇再介绍一下boost库的编译。 未经许可,请勿转载! 一.环境准备 1.鸿蒙NDK 下载安装方式可以参考上篇文章&#xff0c…

我在上一篇文章中介绍了curl和openssl的编译方式(linux下编译鸿蒙版curl、openssl-CSDN博客),这篇再介绍一下boost库的编译。

未经许可,请勿转载!

一.环境准备

1.鸿蒙NDK

下载安装方式可以参考上篇文章,完毕后NDK的路径为:/home/ubuntu/develop/ohos-sdk-5.0/linux

2.下载boost库

我们可以在 Boost Version History查找自己需要的版本下载,我这边下载的是2020年的版本1.75.0。

下载完毕后解压到开发目录:/home/ubuntu/thirdparty/boost_1_75_0

二.编译流程

1.生成boost编译工具

在boost目录下执行 bootstrap.sh,编译完成后生成编译工具 b2,以及要用到的 project-config.jam

2.修改工程编译配置

vim project-config.jam

将配置文件内容清空,替换成如下配置:

modules.poke : NO_BZIP2 : 1 ;
# 设置ndk的路径
OHOS_NDK = /home/ubuntu/develop/ohos-sdk-5.0/linux ;
# 设置编译参数
using clang : ohos5.0 :$(OHOS_NDK)/native/llvm/bin/clang++ :<archiver>$(OHOS_NDK)/native/llvm/bin/llvm-ar<ranlib>$(OHOS_NDK)/native/llvm/bin/llvm-ranlib<compileflags>--sysroot=$(OHOS_NDK)/native/sysroot<compileflags>--target=aarch64-linux-ohos<compileflags>-fdata-sections<compileflags>-ffunction-sections<compileflags>-funwind-tables<compileflags>-fstack-protector-strong<compileflags>-no-canonical-prefixes<compileflags>-fno-addrsig<compileflags>-Wa,--noexecstack<compileflags>-D__MUSL__ ;project : default-build <toolset>clang-ohos5.0 ;# List of --with-<library> and --without-<library> options.
# If left empty, all libraries will be built.
# Options specified on the command line completely override this variable.
# 这边可以配置需要编译哪些库,不编译哪些库,我这边注释掉之后,就会编译所有库
#libraries = --with-filesystem --with-thread --with-system --with-regex --with-program_options --with-timer --with-chrono --with-iostreams --with-exception ;

这块配置是编译成功与否的关键,大家也可以自行增删需要的编译选项

3.修改 context 库编译配置

vim libs/context/build/Jamfile.v2

添加新的配置内容:

alias asm_sources: asm/make_arm64_aapcs_elf_gas.Sasm/jump_arm64_aapcs_elf_gas.Sasm/ontop_arm64_aapcs_elf_gas.S: <abi>sysv<address-model>64<architecture>arm<binary-format>elf<toolset>clang-ohos;

位置如图所示:

这边需要注意下,如果不修改该配置的话,在编译时会报 error: No best alternative for libs/context/build/asm_sources 的错误。

另外还有一种方式可以解决这个错误,在不修改配置的情况下,我们可以在 b2 的编译命令行中加入编译参数 abi=aapcs

./b2 abi=aapcs ...

4.编译

./b2 -a --layout=versioned threadapi=pthread link=static threading=multi target-os=linux runtime-link=static stage --stagedir=ohos

我这边编译的是多线程静态库,大家可以根据需要自行调整编译参数,参数说明可以参考 ./b2 --help

三.编译结果

编译结束后,结果生成在 ohos/lib 下。其中有些库可能会编译失败,如 boost_python,关于这些特殊库的编译大家可以自行查找资料,我这边就不介绍了。

http://www.yayakq.cn/news/108400/

相关文章:

  • 沈阳有多少网站鹤壁seo公司
  • 加强网站基础建设项目做宠物店网站的素材
  • 成都市网站建设iis6cgi php网站缓存
  • 信息网站模板京东网站哪个公司做的
  • 手机建网站步骤上海公司网站建设服务
  • 泉州市建设系统培训中心网站福建金融公司网站建设
  • 各种免费源码共享网站163网站是jsp做的吗
  • 浙江住房和建设网站首页怎么用ps做购物网站
  • 做外链等于网站更新么wordpress4.8 zh_CN
  • 电子销售网站模板开发公司工程结算审核工作流程及工作要点
  • 沧州地区阿里巴巴做网站企业网站能提供哪些服务
  • 网页设计公司如何看待极简风格山东seo多少钱
  • 个人的网站怎么备案北京网站优化济南兴田德润简介电话
  • 网站行业关键词网站建设顺德
  • 右键网站 选择添加ftp站点网络推广服务合同范本
  • 企业网站做备案wordpress 书站
  • 阿里云esc服务器 怎么做网站东丽做网站
  • 网站开发与维护费用wordpress作者增加页面权限
  • 软件网站是怎么做的网站名称是什么意思
  • html5手机网站免费模板设计网站pc版
  • 自己在电脑上建文档做网站怎么做中国十大互联网公司排名2021
  • 商丘建网站免费建一个网页的链接
  • wordpress建立好的网站商场装修
  • jsp网站建设 书籍深圳高端设计装饰公司
  • 国外有什么网站是做服装的wordpress站点标题和副标题
  • 网站开发人员的职责是什么优盖网logo在线设计
  • 网站做超链接薪资多少一个月产品推广宣传方案
  • 网站还没上线 可以对网站备案吗如何做家具网站
  • 邯郸中材建设有限责任公司网站艺术馆展厅设计
  • 做设计开店的网站南阳网站建设xihewh