C++学习(四一一)cmake交叉编译Android curl

Posted hankern

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++学习(四一一)cmake交叉编译Android curl相关的知识,希望对你有一定的参考价值。

cmake android-ndk-r19c curl win10

启动CMake后先做如下操作:

ANDROID_PLATFORM设置为android-28

ANDROID_NDK设置为D:\\android-ndk-r19c

ANDROID_ABI设置为arm64-v8a(以上变量一定要在cmake的configure前设置,如果不是需要删除缓存,重新设置后再configure,因为先configure后会缓存一些变量,后面是无法修改的)

主要是影响CMAKE_LINKER交叉编译工具的选择,以上步骤会使用D:/android-ndk-r19c/toolchains/llvm/prebuilt/windows-x86_64/bin/aarch64-linux-android-ld.exe之类的工具,不设置会使用D:/android-ndk-r19c/toolchains/llvm/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ld.exe之类的工具。

 执行configure

选择构建工具ninja

选择交叉编译工具链D:/android-ndk-r19c/build/cmake/android.toolchain.cmake

CMAKE_INATALL_PREFIX设置为E:\\Projects\\QT5.12\\osg_earth_android_build\\3rdpartyAndroid\\curl\\obj\\local\\armeabi-v8a

CMAKE_USE_OPENSSL设置为false

BUILD_TESTING设置为flase

新建HAVE_POSIX_STRERROR_R,并设置为true

执行generate

执行"D:\\Program Files\\cmake-3.12.0-win64-x64\\bin\\ninja.exe" -f build.ninja

执行ninja.exe install安装程序

清除命令为ninja.exe -t clean

构建某一个模块(osg)ninja.exe -f build.ninja osg

以上是关于C++学习(四一一)cmake交叉编译Android curl的主要内容,如果未能解决你的问题,请参考以下文章

C++学习(四四一)gradle速度慢

C++学习(四一八)apk文件结构

C++学习(三四一)pkg-config

异常不适用于 arm cortex m4 的 clang 和 cmake 交叉编译,并生成“got”部分

C++学习(四一五)android lint

C++学习(四一四)gradle的命令行方式