美文网首页
构建移动平台本地库

构建移动平台本地库

作者: Asteriskjs | 来源:发表于2020-06-09 14:19 被阅读0次

构建移动平台本地库

无论是iOS平台还是Android平台,可能都会用到C&&C++库。
而C&&C++是支持跨平台的使用的,但是在想要在移动平台上使用C&&C++库一般需要进行跨平台编译。

构建需求分析

无论是iOS平台还是Android平台,都有两种方式进行C&&C++调用。

  1. 源码引入:这种方式有时候很方便,尤其是头文件库,但是对于openssl这种库就非常不方便了。
  2. 静态库、动态库等文件引入:静态库引入之后,会和应用程序的可执行程序编译成一个文件,动态库需要打包到程序的运行目录。

构建iOS平台库

iOS平台的跨平台使用C&&C++相对比较容易,因为objective-c和C&&C++都是内存主动管理语言,可以混编。为了模块划分更加清晰可以使用静态库,为了节省编译时间可以使用动态库。

构建Android平台库

Android无法做到和C&&C++混编,所以只能间接调用Cmake构建系统进行源码编译,或者引入现有的静态库或者动态库。不过,为了防止代码的冲突,NDK建议使用动态库进行编译。代码冲突的原理也比较简单,就是A库使用了C++11库,B库使用了C++14库,产品程序依赖A库和B库,这样需要有两个版本的C++进行支持,如果静态编译则C++两个版本的库就会冲突。如果是动态链接,就是选择合适的库。

构建移动平台库的项目介绍

build-ios-and-android-script
这个脚本项目正式为了解决上述引入现有静态库和动态库而出生的。对于常见的但是难于源码引入的项目,可以在这里进行编译。
当然,该库应该是刚刚创建,支持的库不多,相信不久将来会有更多小伙伴加入和维护该库。

相关文章

网友评论

      本文标题:构建移动平台本地库

      本文链接:https://www.haomeiwen.com/subject/yvxlzhtx.html