Hello,
I am currently running QGroundControl v5.0 (stable release) with Qt 6.8.3.
Previously, I followed the official Qt guide for Android to successfully build and install the stable QGC v4.4 version with Qt 5.15.2 for both Android and Windows desktop.
However, since that version does not include the 3D View, I am now testing the newer QGC v5.0 stable release with Qt 6.8.3 to check if 3D View is supported.
Screenshot (681)1920×1080 166 KB
Screenshot (682)1920×1080 243 KB
I initially encountered multiple undefined symbol linker errors related to graphene
, jpeg
, and libpng
while building QGroundControl.
To address this, I downloaded the required graphene
and libpng
libraries as ZIP files, extracted them, and manually added their include
and lib
directories to the CMakeLists.txt
file. I also linked the static libraries (graphene-1.0
, jpeg
, and libpng.a
) using target_link_libraries()
.
Could you please confirm if these manual changes are the reason I’m now experiencing the current linker errors? I suspect the issue might be related to architecture or compatibility mismatches.
Screenshot (668)1920×1080 221 KB
Screenshot (669)1920×1080 289 KB
FAILED: Release/libQGroundControl_armeabi-v7a.so
C:\Windows\system32\cmd.exe /C “cd . && C:\Users\anusha_bylla\AppData\Local\Android\Sdk\ndk\26.1.10909125\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=armv7-none-linux-androideabi23 --sysroot=C:/Users/anusha_bylla/AppData/Local/Android/Sdk/ndk/26.1.10909125/toolchains/llvm/prebuilt/windows-x86_64/sysroot -fPIC -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -O3 -DNDEBUG -Wl,–build-id=sha1 -Wl,–no-rosegment -Wl,–no-undefined-version -Wl,–fatal-warnings -Wl,–gc-sections -Qunused-arguments -Wl,–no-undefined -Wl,-Bsymbolic -Wl,-z,notext -shared -o Release\libQGroundControl_armeabi-v7a.so @CMakeFiles\QGroundControl.rsp && cd .”
ld.lld: error: undefined symbol: gst_proxy_control_binding_new
referenced by gstglvideomixer.c:439 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/armv7/gst-plugins-base-1.0-1.22.12/_builddir/../ext/gl/gstglvideomixer.c:439)
gstglvideomixer.c.o:(_create_video_mixer_input) in archive cpm_modules/gstreamer/e8c30675f9e5398db84aa8cdc909f466ba7e8458/armv7/lib/gstreamer-1.0/libgstopengl.a
referenced by gstglsinkbin.c:267 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/armv7/gst-plugins-base-1.0-1.22.12/_builddir/../ext/gl/gstglsinkbin.c:267)
gstglsinkbin.c.o:(gst_gl_sink_bin_init) in archive cpm_modules/gstreamer/e8c30675f9e5398db84aa8cdc909f466ba7e8458/armv7/lib/gstreamer-1.0/libgstopengl.a
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
09:51:14: The process “C:\Program Files\CMake\bin\cmake.exe” exited with code 1.
09:51:14: Error while building/deploying project QGroundControl (kit: Android Qt 6.8.3 Clang armeabi-v7a)
09:51:14: When executing step “Build”
09:51:14: Elapsed time: 00:08.