cmake交叉编译android(转)
生成cmake编译所需的文件
#-H指向CMakeLists.txt文件父级目录 #-B指向中间产物目录 #-DCMAKE_LIBRARY_OUTPUT_DIRECTORY指向so输出目录 #-DCMAKE_TOOLCHAIN_FILE指向android.toolchain.cmake文件,可以使用ndk自带的,也可以使用clone下来的项目中的文件 #-DANDROID_NDK指向ndk目录 #-DANDROID_ABI定义目标cpu结构,取值armeabi,armeabi-v7a,arm64-v8a,x86,x86_64,mips,mips64中的一个 #-DCMAKE_BUILD_TYPE定义构建类型,取值Debug或Release,Release构建做-O3三级优化 #-DANDROID_PLATFORM定义最低api版本 #-DANDROID_TOOLCHAIN表示交叉编译链类型,取值gcc或者clang,gcc已经被废弃 #-DANDROID_STL指明使用的stl #-DCMAKE_C_FLAGS代表c编译器参数 #-DCMAKE_CXX_FLAGS代表c++编译器参数 #更多参数见google官方文档 https://developer.android.com/ndk/guides/cmake.html #如果需要使用ninja构建,追加-GAndroid Gradle - Ninja参数,该参数标准cmake可执行文件不支持,只有sdk下的cmake支持 /Users/lizhangqu/AndroidSDK/cmake/3.6.3155560/bin/cmake \ -H"../jni" \ -B"../build/android/armeabi-v7a" \ -DANDROID_ABI="armeabi-v7a" \ -DANDROID_NDK="/Users/lizhangqu/AndroidNDK/android-ndk-r14b" \ -DCMAKE_LIBRARY_OUTPUT_DIRECTORY="../build/android/libs/armeabi-v7a" \ -DCMAKE_BUILD_TYPE="Release" \ -DCMAKE_TOOLCHAIN_FILE="/Users/lizhangqu/AndroidNDK/android-ndk-r14b/build/cmake/android.toolchain.cmake" \ -DANDROID_PLATFORM="android-14" \ -DANDROID_TOOLCHAIN="clang" \ -DCMAKE_C_FLAGS="-fpic -fexceptions -frtti" \ -DCMAKE_CXX_FLAGS="-fpic -fexceptions -frtti" \ -DANDROID_STL="c++_static" \
联系方式:emhhbmdfbGlhbmcxOTkxQDEyNi5jb20=
分类:
编译相关(ndk,gcc)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2017-08-09 rpm安装找不到.so库文件(linux动态库连接的相关知识)(转)
2017-08-09 Linux下的tar压缩解压缩命令详解(转)
2017-08-09 Linux系统如何查看版本信息
2016-08-09 int main(int argc,char* argv[])详解
2015-08-09 Reverse Integer
2015-08-09 ZigZag Conversion
2015-08-09 Longest Palindromic Substring