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

做网站用框架衡阳退休职工做面膜网站

做网站用框架,衡阳退休职工做面膜网站,南宁seo公司,内部网站制作时间#xff1a;20200719 本机环境#xff1a;iMac2017 macOS11.4 参考: 官方的文档#xff1a;Use the NDK with other build systems 写在前边#xff1a;交叉编译跟普通编译类似#xff0c;无非是利用特殊的编译器、链接器生成动态或静态库; make 本质上是按照 Make…时间20200719 本机环境iMac2017 macOS11.4 参考: 官方的文档Use the NDK with other build systems 写在前边交叉编译跟普通编译类似无非是利用特殊的编译器、链接器生成动态或静态库; make 本质上是按照 Makefie 中的规则来编译源码,编译遇到问题多去里边找找线索 使用Docker ubuntu镜像 编译 1.安装docker 2.拉取ubuntu 镜像 docker pull ubuntu:20.04 3.挂载一个本地目录 用于与Host共享 4.进入容器命令行 切换shell脚本 /bin/bash 5.更新apt: apt update安装wget : apt install wget 6.选择一个NDK版本旧版NDK 下载这里 我下载的是 r21 ,wget https://dl.google.com/android/repository/android-ndk-r21e-linux-x86_64.zip 7.安装unzip: apt install unzip 8.解压ndk: unzip android-ndk-r21e-linux-x86_64.zip 默认是解压到 ./android-ndk-r21e 9.保存一下ndk的路径,使用pwd可以查看当前路径 记好ndk 的路径 【当前路径/android-ndk-r21e】 10.下载luajit并解压我选择的是v2.1.ROLLING这个Tag, wget https://github.com/LuaJIT/LuaJIT/archive/refs/tags/v2.1.ROLLING.zip、unzip v2.1.ROLLING.zip 11.进入到v2.1.ROLLING目录cd v2.1.ROLLING使用ls -l查看文件列表可以看到有Makefile打开稍微看一下可以发现它是$(MAKE) -C src 来编译src目录下的源码打开src目录里边也有Makefile这里就是编译的细节可以看到 STATIC_CC $(CROSS)$(CC) 这里我们可以通过设置CROSS、CC 的值来指定编译工具接下来我们写个脚本来执行编译 12.新建脚本touch build_android.sh, 添加执行权限chmod x build_android.sh , 13.安装vim: apt install vim, 编辑脚本vim build_android.sh 首先要了解一下编译的工具链的选择位于 $NDK/toolchains/ 目录下稍后的CROSS 变量设置就是根据这里的三元组Triple来指定的需要根据目标ABI选取 ABITriplearmeabi-v7aarmv7a-linux-androideabiarm64-v8aaarch64-linux-androidx86i686-linux-androidx86-64x86_64-linux-android 注意 r19 之后 anrdoid 仅提供 clang 交叉编译工具需要统一使用目录下的 llvm 工具 我们r21编译器位于 $NDK/toolchains/llvm/prebuilt/linux-x86_64/bin再就是需要确认支持的最小的API等级一般21就行了 注意运行要先去 src/Makefile里 把CC $(DEFAULT_CC)这里修改一下让它优先使用我们指定的CC ifndef CC CC $(DEFAULT_CC) #注意这里如果为了美观想要缩进的话不能使用‘tab’因为 Makefile里用‘tab’缩进会当作是指令来运行 endif先编译一个arm64-v8a的试试 ,我们要使用 $NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-androideabi21-clang, 完整的脚本 NDK你的ND根目录API21 NDKTRIPLEaarch64-linux-android NDKBIN$NDK/toolchains/llvm/prebuilt/linux-x86_64/binmake CCclang CROSS$NDKBIN/$NDKTRIPLE$API-运行脚本报错 网上搜了一下说Error 127 是找不到ar工具去NDKBIN里边看了一下除了 clang/clang 其它工具的命名都是不带API的,所以Makefile 中所有的 非$(CROSS)$(CC) 格式的变量都要手动指定先修改Makefile TARGET_AR $(CROSS)ar rcus TARGET_STRIP $(CROSS)strip 改为 ifndef TARGET_AR TARGET_AR $(CROSS)ar rcus endif ifndef TARGET_STRIP TARGET_STRIP $(CROSS)strip endif 再来是脚本文件通常Makefile 中都会提供clean命令用来清理编译的中间文件之类的我们也把make clean加在脚本里 NDK你的ND根目录make cleanAPI21 NDKTRIPLEaarch64-linux-android NDKBIN$NDK/toolchains/llvm/prebuilt/linux-x86_64/binmake CCclang CROSS$NDKBIN/$NDKTRIPLE$API- TARGET_AR$NDKBIN/$NDKTRIPLE-ar rcus TARGET_STRIP$NDKBIN/$NDKTRIPLE-strip运行脚本成功 一般来说4个ABI版本的库都是需要的我们稍微改造一下脚本把每种都编译出来然后统一放到 build 目录下有一点需要注意armeabi-v7a 和 x86 是32位需要带上 -m32参数 还有就是 armeabi-v7a 的TARGET_AR/TARGET_STRIP命名的规则跟其他的不太一样: NDK$NDK_r21_ROOT NDKBIN$NDK/toolchains/llvm/prebuilt/linux-x86_64/bin API21#当前目录 CUR_PATH$(cd $(dirname $0)pwd )#build目录 BUILD_PATH$CUR_PATH/build #每次生成前清理 build目录 rm -rf $BUILD_PATH#创建目录 makedir() {if [ ! -x $1 ]; thenmkdir -p $1fi }makedir $BUILD_PATH#移动lib到build目录下 putto() {makedir $1if [ -f $CUR_PATH/src/libluajit.a ]; thenmv $CUR_PATH/src/libluajit.a $1/libluajit.afi }# armeabi-v7a NDKTRIPLEarmv7a-linux-androideabi make clean make CCclang -m32 CROSS$NDKBIN/$NDKTRIPLE$API- TARGET_AR$NDKBIN/arm-linux-androideabi-ar rcus TARGET_STRIP$NDKBIN/arm-linux-androideabi-strip putto $BUILD_PATH/armeabi-v7a# arm64-v8a NDKTRIPLEaarch64-linux-android make clean make CCclang CROSS$NDKBIN/$NDKTRIPLE$API- TARGET_AR$NDKBIN/$NDKTRIPLE-ar rcus TARGET_STRIP$NDKBIN/$NDKTRIPLE-strip putto $BUILD_PATH/arm64-v8a# x86 NDKTRIPLEi686-linux-android make clean make CCclang -m32 CROSS$NDKBIN/$NDKTRIPLE$API- TARGET_AR$NDKBIN/$NDKTRIPLE-ar rcus TARGET_STRIP$NDKBIN/$NDKTRIPLE-strip putto $BUILD_PATH/x86# x86_64 NDKTRIPLEx86_64-linux-android make clean make CCclang CROSS$NDKBIN/$NDKTRIPLE$API- TARGET_AR$NDKBIN/$NDKTRIPLE-ar rcus TARGET_STRIP$NDKBIN/$NDKTRIPLE-strip putto $BUILD_PATH/x86_64
http://www.hkea.cn/news/14575265/

相关文章:

  • 做网站好的网站建设公司网页制作第一步
  • 自己做一元购网站常见的系统优化软件
  • 长沙网站列表珠海商城网站建设
  • 上海智能网站建设设计保洁公司在哪个网站做推广比较好
  • 南通网站建设有限公司网站设计的任务
  • 电商网站seo公司做h5的免费软件
  • 慧聪网seo页面优化百度seo外包
  • 济南小程序网站制作哪家公司建别墅好
  • 网站服务器做下载链接邯郸市市长
  • 网站开发的内容网站首页做的好看
  • 国外的设计网站推荐wordpress访问很慢吗?
  • akm建站系统工业设计大赛
  • 旅游业网站建设方案特点wordpress自定义主题怎么拷过去
  • 开源程序网站软件详细设计文档
  • 江苏城工建设科技有限公司网站企业解决方案提供商
  • 网站建设的目的意义茂名网站开发
  • 外贸流程询盘发盘网站常用的优化方法
  • 建立网站原则做网站需要注册哪类商标
  • 个人做论坛网站需要哪些备案网站营销策划公司
  • 金华网站建设电话网站服务器 免费
  • 泉州市做网站优化大良陈村网站建设
  • 搜索引擎是软件还是网站微信商城怎么开店
  • 色和尙做爰网站网站技能培训
  • 班级网站建设的范围浙江建设信息网港
  • 遥阳科技网站建设销售新网站推广策略
  • 西安专业建网站网站页面切换效果
  • 公司网址备案能用多少网站wordpress 输出豆瓣
  • 珠海网站系统建设网络推广营销技巧
  • 惠州有没有做网站通州顺德网站建设
  • 27寸显示器网站建设今天最新军事新闻