ndk编译open62541

news/2024/11/7 14:38:06/

创建文件:android_gen.sh,内容如下:

#!/bin/bash
echo "start build android"

#手动设置开始
CMAKE_DIR=yourpath/Android/Sdk/cmake/3.18.1
NDK_DIR=yourpath/Android/Sdk/ndk/21.4.7075529
SDK_DIR=yourpath/Android/Sdk
#手动设置结束

#cmake_exec=$CMAKE_DIR/bin/cmake
cmake_exec=cmake
#ninja_exec=$CMAKE_DIR/bin/ninja
ninja_exec=ninja

cur_dir=$(pwd)

echo $cmake_exec
echo $ninja_exec
echo $cur_dir

if [[ ! -f $cur_dir/CMakeLists.txt ]]; then
    echo "check CMakeLists.txt"
    exit
fi

out_dir=$cur_dir/build_android

libout_dir=$cur_dir/Jnilibs

H_dir=$cur_dir

B_dir=$cur_dir/build_android

#TARGET=armeabi-v7a
TARGET=arm64-v8a

ANDROID_ABI="arm64-v8a"
ANDROID_NDK="yourpath/Android/Sdk/ndk/21.4.7075529"
CMAKE_LIBRARY_OUTPUT_DIRECTORY=$libout_dir/$TARGET/
CMAKE_BUILD_TYPE=Release
CMAKE_MAKE_PROGRAM=$ninja_exec
CMAKE_TOOLCHAIN_FILE=$NDK_DIR/build/cmake/android.toolchain.cmake
ANDROID_NATIVE_API_LEVEL=24
ANDROID_TOOLCHAIN=clang
CMAKE_GENERATOR="Ninja"

$cmake_exec  -H$H_dir -B$B_dir \
-DANDROID_ABI=${ANDROID_ABI} \
-DANDROID_NDK=${ANDROID_NDK} \
-DANDROID_NDK_HOST_X64="YES"  \
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=$CMAKE_LIBRARY_OUTPUT_DIRECTORY \
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \
-DCMAKE_MAKE_PROGRAM=ninja  \
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} \
-DANDROID_NATIVE_API_LEVEL=${ANDROID_NATIVE_API_LEVEL}  \
-DANDROID_TOOLCHAIN=${ANDROID_TOOLCHAIN} \
-DCMAKE_GENERATOR=${CMAKE_GENERATOR} \

cd $out_dir
$ninja_exec 
cd $cur_dir
#rm -rf $out_dir

保存后执行 ./android_gen.sh

生成: open62541.a


http://www.ppmy.cn/news/242908.html

相关文章

javascript 中的 URL 解码

文章目录 需要URL编解码JavaScript 中的 URL 解码使用 unescaped() 方法解码编码的 URL使用 decodeURI() 方法解码编码的 URL使用 decodeURIComponent() 方法解码编码的 URL 总结 本文着眼于 URL 解码以及如何使用 JavaScript 对编码的 URL 进行解码。 需要URL编解码 URL 应具…

Linux工具之htop(含移植到arm-linux系统)

文章目录 介绍安装使用一些参数讲解功能键说明一些快捷键一些指令参数 拓展:Linux进程PRI与NI值拓展:VIRT(虚拟内存)RES(常驻内存)和SHR(共享内存)拓展:编译成应用放到开发板上使用源码下载解压编译 介绍 Htop是一个免费的(GPL&a…

来了解一下白盒测试,黑盒测试,灰盒测试吧(超详解~)

根据被测对象的不同,软件测试可以分为白盒测试、黑盒测试、灰盒测试三种方式。那么,这三种测试方式具体是如何运行的?各有什么特点?下面,跟着静姐一起了解一下吧! 01、白盒测试 WHITE BOX ●概念&#x…

【Django知识点】【Django Rest Framework学习】fbv开发、cbv开发、...

前言 本文内容主要讲解介绍Django Rest Framework框架,结合如下django项目学习食用 Github仓库地址 基本概念 FBV:function based views 特点 无需继承类 基于函数形式的视图开发 fbv默认为get方法,如果提供post或其他类型方法&#x…

【动态规划】最长回文子序列(java)

最长回文子序列 leetcode516. 最长回文子序列题目描述 暴力递归解题思路代码演示 递归 缓存解题思路代码演示 动态规划解题思路代码演示 动态规划专题 leetcode516. 最长回文子序列 来源:力扣(LeetCode) 链接:https://leetcode.c…

智能语音电话机器人怎么选?从这三方面下手

电销机器人市场鱼龙混杂,哪个电话机器人品牌好? 小编觉得可以从三个方面下手: 第一、核心技术 使用传统电销时需要考虑这些数据:接通率、通话时长、投诉、客户满意度等,因为它们直接影响着电销人员的业务素质&#…

你了解过“本次通话将被录音,请您谅解“背后的智能语音质检?

“为了保证通话服务质量,本次通话将被录音,请您谅解", 这句话是不是很耳熟,这里的电话录音就是为了方便公司监察、纪检、管理等部门能随机抽取电话录音对公司的客服或销售人员在与客户通话的过程服务态度作出评价: 比如是否按照规定话术…

手机录音 怎么单声道_手机通话小不是手机问题,打开这个开关,音量提高好几倍...

平时在打电话的时候,你是否有这样的困扰?明明都把手机通话音量调整到最大了,但声音却还是感觉很小的样子。在一些公共场合下,没有携带耳机,又不能将手机开通免提,这种情况实在是很磨人! 其实我们…