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的主要内容,如果未能解决你的问题,请参考以下文章

C++学习(三三三)Android查看目录下的文件列表

C++学习(四三三)LogUtil和Log

C++学习(三三四)BMP图片文件结构

C++学习(三三一)有关osgUtil::SceneView

C++学习(三三八)RSP文件

C++学习(三七七)Makefile 动态库 静态库