随笔 - 100  文章 - 0  评论 - 6  阅读 - 88603

配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目

配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目

下载NDK

** 下载时注意对应自己需要的版本 **

  • 官网下载https://developer.android.google.cn/ndk/downloads?hl=en#:~:text=Select%20t

配置环境变量

  • 1.在NDK目录下新建两个文件(名字随意)env-setup-64.sh env-setup-32.sh。一个是设置64位编译器,一个是设置32位编译器

** 内容如下:

export NDK=/home/a/ndk/android-ndk-r26b
export TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64

export CC=$TOOLCHAIN/bin/aarch64-linux-android26-clang
export CXX=$TOOLCHAIN/bin/aarch64-linux-android26-clang++
export PATH=$NDK/toolchains/llvm/prebuilt/linux-x86_64/sysroot:$PATH
export NDK=/home/a/ndk/android-ndk-r26b
export TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64

export CC=$TOOLCHAIN/bin/armv7a-linux-androideabi26-clang
export CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi26-clang++
export PATH=$NDK/toolchains/llvm/prebuilt/linux-x86_64/sysroot:$PATH
  • 2.当需要编译64位程序时,执行env-setup-64.sh source env-setup-64.sh,如果需要权限则手动加上

  • 3.在同一个终端下,直接使用cmake构建项目并编译

注意

使用上面的方式,有些cmake的变量不会被设置,比如CMAKE_SYSTEM_PROCESSOR(可通过此变量确定目标平台)。

官方推荐的使用方法如下:

export ANDROID_NDK=/toolchain_path
cmake ../files -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI="arm64-v8a" -DANDROID_NDK=$ANDROID_NDK -DANDROID_PLATFORM=android-26
  • 1.执行 export ANDROID_NDK=/toolchain_path设置ndk的路径

  • 2.执行 cmake ../files -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI="arm64-v8a" -DANDROID_NDK=$ANDROID_NDK -DANDROID_PLATFORM=android-26

** 通过设置-DCMAKE_TOOLCHAIN_FILE参数,cmake执行时,会自动到ndk目录下找android.toolchain.cmake文件,此文件设置了ndk交叉编译需要的所有变量。**

posted on   林西索  阅读(140)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示