响应式网站建设精英北京市建筑工程设计有限责任公司

pingmian/2025/10/8 11:27:05/文章来源:
响应式网站建设精英,北京市建筑工程设计有限责任公司,什么网站能买建设摩托车,网页设计培训的课程类型Windows下使用AndroidStudio及CMake编译Android可执行程序或静态库动态库 文章目录 Windows下使用AndroidStudio及CMake编译Android可执行程序或静态库动态库一、前言二、编译环境三、示例C/CPP程序1、总体工程结构2、示例代码3、CMakeLists.txt#xff08;重要#xff09;4、…Windows下使用AndroidStudio及CMake编译Android可执行程序或静态库动态库 文章目录 Windows下使用AndroidStudio及CMake编译Android可执行程序或静态库动态库一、前言二、编译环境三、示例C/CPP程序1、总体工程结构2、示例代码3、CMakeLists.txt重要4、build脚本重要5、运行测试 四、总结 一、前言 之前在Android Studio中编写NDK C/C相关代码通过Gradle和CMake编译成动态库然后再利用JNI的方式进行调用。现在需要编译Android C/C可执行程序通过运行程序做一些小实验而这些小实验都是纯C/C编写不包含任何Java代码那么是否可以利用现成的环境进行开发呢之前我是一直在虚拟机上安装NDK利用其带有的交叉编译工具链进行编译但NDK的低版本和高版本变化比较大比如高版本取消了gcc改为使用clang因此导致在虚拟机上安装ndk进行编译的方式随着ndk版本的变化有了很多兼容问题所以学会cmake独立编译方式在现阶段具有一劳永逸的效果。 二、编译环境 通过Android Studio内置的SDK Manager下载NDK和CMake可参考下载NDK和构建工具 三、示例C/CPP程序 1、总体工程结构 由于单独运行camke命令来处理因此工程结构比较灵活可以将相关的代码都放到一个目录下紧凑且方便查找。 2、示例代码 addTest.c我这里以加载静态库或动态库的方式做示例实际场景中链接静态库或动态库更多最好是使用静态库拷贝动态库到Android设备上以及设置路径也挺麻烦的 // // Created by Administrator on 2023/12/5. // #include stdio.h #include addnum.hint main() {int res addtwo(1, 2);printf(add test res:%d\n, res);return 0; }3、CMakeLists.txt重要 引入动态库、静态库以及生成可执行文件、静态库、动态库等方法都是很有用的 # CMake最低版本号要求 cmake_minimum_required(VERSION 3.6)# 项目信息 project (addTest)#引入静态库 add_library(addnum STATIC IMPORTED) set_target_properties(addnum PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/libaddnum.a) #引入动态库 #add_library(addnum SHARED IMPORTED) #set_target_properties(addnum PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/libaddnum.so)# 设置目标文件的名字 set(TARGET_NAME addTest)# 生成可执行文件 add_executable(${TARGET_NAME} addTest.c) #生成静态库 #add_library(${TARGET_NAME} STATIC addTest.c) #生成动态库 #add_executable(${TARGET_NAME} SHARED addTest.c)# 链接库 target_link_libraries(${TARGET_NAME} addnum)4、build脚本重要 在执行cmake命令生成Android可执行文件时需要带上长长的参数为了简化此步骤这里编写一个脚本build.bat REM set abiarmeabi-v7a set abiarm64-v8a set ANDROID_SDK_HOMEC:/Users/Administrator/AppData/Local/Android/Sdkif not exist %abi% md %abi% cd %abi%%ANDROID_SDK_HOME%/cmake/3.10.2.4988404/bin/cmake ^-DANDROID_ABI%abi% ^-DANDROID_NDK%ANDROID_SDK_HOME%/ndk-bundle ^-DCMAKE_BUILD_TYPEDebug ^ REM -DCMAKE_BUILD_TYPERelease^-DCMAKE_TOOLCHAIN_FILE%ANDROID_SDK_HOME%/ndk-bundle/build/cmake/android.toolchain.cmake ^-DANDROID_NATIVE_API_LEVEL9 ^-DANDROID_TOOLCHAINclang -DCMAKE_GENERATORNinja ^-DCMAKE_MAKE_PROGRAM%ANDROID_SDK_HOME%/cmake/3.10.2.4988404/bin/ninja ^..%ANDROID_SDK_HOME%/cmake/3.10.2.4988404/bin/ninjacd ..脚本中的3.10.2.4988404指的是CMake的版本需要根据实际下载的CMake版本进行修改。 由于使用的是Windows系统这里给出的是bat脚本Linux/Mac的shell脚本可根据bat脚本进行相应的修改。 5、运行测试 使用Android手机通过USB数据线连接电脑或者使用模拟器。将生成的可执行文件通过adb命令push到设备上的/data/local/tmp下即可该路径具备运行程序的权限 $ adb push addTest /data/local/tmp $ adb shell $ chmod 777 /data/local/tmp/addTest $ /data/local/tmp/addTest add test res:3四、总结 之前一直使用ndk-build结合Android.mk在虚拟机上编译适用于Android的so目前发现很多兼容问题使用cmake方式后完美解决了这里做下总结。此外之前我们也总结过包含so和Java接口的jar包都是采用cmake的方式目前看来cmake方式要比Android.mk的方式要简单一些除了命令比较长之外.新的方式的掌握还是要靠官方文档以及自行尝试一些关键点突破了之后就没有那么难了。 参考文档 Android CMakehttps://developer.android.com/ndk/guides/cmake?hlzh_cn脱离AS在windows下使用CMake交叉编译for Androidhttps://blog.csdn.net/LLJJYY001/article/details/77866049

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/89910.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

咸阳做网站哪里建网站性价比高

JAVA经典算法跪求关注,祝关注我的人都:身体健康,财源广进,福如东海,寿比南山,早上贵子,从不掉发!更多java资料可以私信我领取!【程序1】 题目:古典问题:有一对…

信托公司网站建设大宗交易网登录

为帮助小伙伴们更好的快速熟悉了解ACM32G103系列的特性,航芯特别发起了该系列开发板评测试用,以帮助大家更好地运用MCU进行项目设计。 ACM32G103开发板介绍 ACM32G103系列是航芯推出的一款有着丰富模拟外设及安全存储扩展能力的高性价比通用MCU。 高性…

浙江英文网站建设佛山微商网站建设

https://github.com/Miraclelucy/dive_into_deep_learning/tree/main 上面是别人的笔记 可以学一下。 如果没有梯子,按照清华源配置 清华源conda配置 最好下载 1.11版本torch那一套 然后装d2l版本可以装 pip install d2l0.17.6然后可以用 http://localhost:8889/…

高端建站做外贸 用国内空间做网站

BIOS(基本输入/输出系统)是被固化在计算机CMOS RAM芯片中的一组程序,为计算机提供最初的、最直接的硬件控制。正确设置BIOS可大大提高系统性能。技嘉主板bios设置方法是什么,很多人很多时候都需要进入bios设置,对于电脑高手来说,这…

wordpress 建视频网站网站怎么做反向代理

前言 续鼠标类设计之1,前面解决了鼠标信号问题,这里解决显示问题 引入 鼠标伴随操作系统而生,考虑在屏幕上怎样显示 思路 1>鼠标显示是一个动态效果,所以需要一个“动态效果类”对象,添加进鼠标类的属性里。 在面…

一键建站哪家信誉好口碑好的网站建设服务

这个项目是我一个盆友的毕业设计,他的设计在这项目基础上新增了功能,晚上我们在这部分讨论了很久,在机器学习领域这个项目不算高深,但对于我们初学者,想了解机器学习是个什么鬼东西的我们来说帮助很大。https://github…

驻马店专业做网站公司企业网站建立流程的第一步是什么

远程工作绝对是未来的趋势。 不管是全职还是兼职,远程办公更加提供了更加自由的工作环境,再好的办公环境有家里舒服吗🐶? 而现在所有远程办公的平台,目前对新手最友好的,我个人觉得是云队友平台。 不仅提供…

福建得兴建设工程网站腾讯云如何做网站

迭代器和生成器---- 迭代器协议和for循环工作机制1.迭代器协议:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么引起一个Stoplteration异常,以终止迭代(只能往后走,不能往前走&#xff09…

做h的游戏视频网站广州外贸网站公司

k柱汉诺塔 题目描述 汉诺塔(Hanoi Tower),又称河内塔。 传说大梵天创造世界的时候做了三根金刚石柱子,按左、中、右排序。大梵天在左侧的柱子上,从下往上按照大小顺序摞着64片黄金圆盘,越靠下的圆盘越大。…

软装设计培训一般多少钱seo是什么意思啊电商

今天,有人问我是否知道摆脱JavaFX控件(分别是按钮)的焦点突出的方法: 有关此问题的大多数文章和提示建议添加: .button:focused {-fx-focus-color: transparent; }但是使用这种样式,仍然会留下这样的光芒…

做网站网页尺寸是多少钱sina邮箱登录入口

小编早年做城市设计的时候,还不知道怎么用gis生成地形,然后导入skechup;只会把cad的等高线导进su后一层层拉伸(过程很繁琐),会得到梯田地形。梯田地形虽然不完全贴合实际,但也凑合能用&#xff…

网站开发运维机构设置简书网站开发

简介: 前言 掌门1对1精耕在线教育领域,近几年业务得到了快速发展,但同时也遭遇了“成长的烦恼”。随着微服务数量不断增加,流量进一步暴增,硬件资源有点不堪重负,那么,如何实现更好的限流熔断…

使用cms快速搭建商业网站网页版梦幻西游谛听怎么获得

源起年初我们在找一款框架,希望它有如下几个特点:学习成本低只需要学.Net每年主推的技术栈和业务特性必须支持的中间件,给开发同学减负,只需要专注业务就好个人见解:一款好用的框架应该是补充,而不是颠覆或…

给网站做绝对路径wordpress 百度翻译

1、题目描述 【题目链接】 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0] 示例…

做网站建设的目的到哪里学平面设计

图1 多普勒效应 1、径向速度 径向速度是作用于雷达或远离雷达的速度的一部分。 图2 不同的速度 2、喷气发动机调制 JEM是涡轮机的压缩机叶片的旋转的多普勒频率。 3、多普勒困境 最大无模糊范围需要尽可能低的PRF; 最大无模糊速度需要尽可能高的PRF&#xff1b…

网站设计开户女生网站开发

注解 什么是注解 Java 注解(Annotation)是 JDK 5.0 引入的一种元素,用于为 Java 代码提供元数据。元数据是关于数据的数据,它为代码提供附加信息,而这些信息并不直接参与到程序的逻辑中,但可以被编译器或…

辽宁建设工程信息网官网新网站是哪个常规网站服务器

选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷。我想大多数人也是出于这个原因选择了Spring Boot,如果不是特殊应用场景,就只需要在application.properties中完成一些属性配置就能开启各模块的应用。而不像传统的XML配…

计算机应用技术 网站开发免费ppt模板简约

在官方文档里面,修改标记的图形(symbol)的方法有三种: 一:ECharts 提供的标记类型有 ‘circle’, ‘rect’, ‘roundRect’, ‘triangle’, ‘diamond’, ‘pin’, ‘arrow’, ‘none’;例:sym…

西安seo网站建设单页

一、V2版本细节升级 1、YOLO-V2: 更快!更强 1.1 做的改进内容 1. YOLO-V2-Batch Normalization V2版本舍弃Dropout,卷积后每一层全部加入Batch Normalization网络的每一层的输入都做了归一化,收敛相对更容易经过Batch Norma…