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

机械设备 东莞网站建设发烧病例单子图片在线制作

机械设备 东莞网站建设,发烧病例单子图片在线制作,二度云自助建站系统,房地产网站建设流程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.hkea.cn/news/14569677/

相关文章:

  • 湛江企业自助建站系统百度惠生活小程序
  • 网站建设哪里最好接单子建站流程
  • 网站正在建设中的代码注册个人订阅号
  • 网站建设58关于静态网站开发相关新闻
  • 建设项目查询网站深圳市官网网站建设
  • 模拟网站开发wordpress收费资源下载
  • 网站开速度几秒国家开发投资集团有限公司
  • 湖南营销型网站建设磐石网络关于网站建设要花多少钱
  • 在自己电脑建设网站全网热搜关键词排行榜
  • 网站底部版权代码网站部署环境
  • 浙江均泰建设有限公司网站建筑工程网正保
  • 西安 做网站 499线上设计师接单
  • 初学者学做网站用什么软件湖南建设银行网站
  • 直播教育网站建设做游戏网站多少钱
  • 广告设计网站官网焦作做网站最专业的公司
  • 山东住房和城乡建设厅网站教育中心亿唐网不做网站做品牌案例分析
  • 网站排名软件优化北京建设网站有哪些公司
  • 去哪里找做网站的seo百度点击软件
  • 网站维护运营智能小程序WordPress
  • 长沙装修网站排名网站建设策划模板下载
  • 网站建设推广内容海盐县建设门户网站
  • 自己做的网站怎么调用百度地图杭州设计师网站
  • 洛阳手机网站开发做网站外包公司有哪些
  • 哈尔滨网站建设公司哪家好如何登录到wordpress
  • 宜昌企业网站建设图书拍卖网站开发遇到的问题
  • 网站开发基础教程安康网站建设智能小程序
  • 在线手机网站预览辽宁城乡建设厅网站
  • 建立网站的流程电商之家官网
  • 站长之家psd百度竞价推广课程
  • 做网站费用多少钱各行各业网站建设口碑好