C++学习(三三七)Qt5.12+osgEarth2.9 for Android
Posted hankern
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++学习(三三七)Qt5.12+osgEarth2.9 for Android相关的知识,希望对你有一定的参考价值。
工具CMake3.12 osgEarth2.9。
启动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 ndk:android-ndk-r19c 交叉编译工具链:android-ndk-r19c/build/cmake/android.toolchain.cmake 第三方依赖库3rdpartyAndroid.zip(适用于armeabi v5和v7)。
CURL_INCLUDE_DIR设置为E:\\Projects\\QT5.12\\osg_earth_src\\osg\\osg3.6\\3rdparty\\curl\\include
CURL_LIBRARY、CURL_LIBRARY_DEBUG设置为E:\\Projects\\QT5.12\\osg_earth_src\\osg\\osg3.6\\3rdparty\\curl\\lib
GDAL_DIR设置为E:\\Projects\\QT5.12\\osg_earth_src\\osg\\osg3.6\\3rdparty\\gdal
GDAL_INCLUDE_DIR设置为E:\\Projects\\QT5.12\\osg_earth_src\\osg\\osg3.6\\3rdparty\\gdal\\include
GDAL_LIBRARY设置为E:\\Projects\\QT5.12\\osg_earth_src\\osg\\osg3.6\\3rdparty\\gdal\\.libs
OPENTHREADS_LIBRARY、OPENTHREADS_LIBRARY_DEBUG、OSGDB_LIBRARY、OSGDB_LIBRARY_DEBUG、OSGFX_LIBRARY、OSGFX_LIBRARY_DEBUG、OSGGA_LIBRARY、OSGGA_LIBRARY_DEBUG
、OSGMANIPULATOR_LIBRARY、OSGMANIPULATOR_LIBRARY_DEBUG
、OSGSHADOW_LIBRARY、OSGSHADOW_LIBRARY_DEBUG
、OSGTERRAIN_LIBRARY、OSGTERRAIN_LIBRARY_DEBUG
、OSGTEXT_LIBRARY、OSGTEXT_LIBRARY_DEBUG
、OSGUTIL_LIBRARY、OSGUTIL_LIBRARY_DEBUG
、OSGVIEWER_LIBRARY、OSGVIEWER_LIBRARY_DEBUG
、OSGWIDGET_LIBRARY、OSGWIDGET_LIBRARY_DEBUG
设置为D:\\OSG_OSGEARTH_Android\\lib64
设置为D:\\OSG_OSGEARTH_Android\\lib64
OSG_INCLUDE_DIR设置为D:\\OSG_OSGEARTH_Android\\include
OSG_LIBRARY、OSG_LIBRARY_DEBUG设置为D:\\OSG_OSGEARTH_Android\\lib64
OSG_GEN_INCLUDE_DIR设置为D:\\OSG_OSGEARTH_Android\\include
问题1:
CMAKE_LINKER自动识别为D:/android-ndk-r19c/toolchains/llvm/prebuilt/windows-x86_64/bin/arm-linux-androideabi-ld.exe,需不需要改为:
D:/android-ndk-r19c/toolchains/llvm/prebuilt/windows-x86_64/bin/aarch64-linux-android-ld.exe,后面的是构建osg时用的工具。
解答1:注意在CMAKE启动后,configure前设置ANDROID_PLATFORM、ANDROID_NDK、ANDROID_ABI。
以上是关于C++学习(三三七)Qt5.12+osgEarth2.9 for Android的主要内容,如果未能解决你的问题,请参考以下文章