The fact is that on the mk15 there is a very small screen and the artificial Horizon along with the compass covers a quarter of the screen, the remaining quarter of the screen is used for video. and Yes, I know that with a single tap on the screen you can switch the video to full screen, but it would be nice if the sizes of the compass and attitude indicator could be changed
@Deathstroke69
Hii !!
Could you please assist me in building QGroundControl for Android? I’m new to both Qt Creator and Android development, so I need urgent guidance.
I’ve followed the steps mentioned in the post and installed JDK-11, Android Studio, and Qt Creator 5.15.2. However, I’m encountering difficulties in setting the SDK path in Qt preferences using both Android Studio and Qt’s Android settings.
Previously, I was able to set it up successfully, but I couldn’t find the option to select a mobile device in the device section of Qt. As a result, I decided to reinstall everything.
Could you please provide guidance on correctly installing everything and building the code flawlessly for Android?
Hii
Can You Please help me How you have build the QGC for Android, what all tools version is needed and how to run it on our mobile device. I am direction less, Please can you guide me step by step how to build it on android.
@Deathstroke69 Hi, I’m new to Qt development and trying to build QGroundControl (QGC) for Android. I’ve followed the configurations provided in the official documentation as well as the ones shared by you earlier, but I’m still facing issues with the build process. Could you please share the updated configuration or any guidance that could help? I’d greatly appreciate it.
Hi, i am also trying to build qgroundcontrol android but i am getting this errors and i already installed the graphene through vcpkg and manually but didn’t work.can you please help me to solve this error…
can you please help me to solve this error …
hey are u able to resolve this error ?
i m facing the same error ,Kindly help if u r able to fix that !
No, I didn’t resolve this error earlier because when I was working on that version, I encountered some QT mirror errors. Now, with the release of QT version 6.8.1 and updates to the QGC guide, I’m using QT Creator 6.8.1 to work on QGroundControl.
so you build qgc for android in QT 6.8.1 ?
same i’m getting the same error even i changed the version also
FAILED: libQGroundControl_x86_64.so
C:\Windows\system32\cmd.exe /C “cd . && D:\SDK\ndk\26.1.10909125\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=x86_64-none-linux-android23 --sysroot=D:/SDK/ndk/26.1.10909125/toolchains/llvm/prebuilt/windows-x86_64/sysroot -fPIC -DQT_QML_DEBUG -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++ -g -fno-limit-debug-info -Wl,–build-id=sha1 -Wl,–no-rosegment -Wl,–no-undefined-version -Wl,–fatal-warnings -Wl,–gc-sections -Qunused-arguments -Wl,–no-undefined -Wl,-Bsymbolic -shared -o libQGroundControl_x86_64.so @CMakeFiles\QGroundControl.rsp && cd .”
ld.lld: error: undefined symbol: jpeg_CreateDecompress
referenced by gstgloverlay.c:682 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstgloverlay.c:682)
gstgloverlay.c.o:(gst_gl_overlay_filter_texture) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
ld.lld: error: undefined symbol: jpeg_std_error
referenced by gstgloverlay.c:683 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstgloverlay.c:683)
gstgloverlay.c.o:(gst_gl_overlay_filter_texture) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
ld.lld: error: undefined symbol: jpeg_stdio_src
referenced by gstgloverlay.c:684 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstgloverlay.c:684)
gstgloverlay.c.o:(gst_gl_overlay_filter_texture) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
ld.lld: error: undefined symbol: jpeg_read_header
referenced by gstgloverlay.c:685 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstgloverlay.c:685)
gstgloverlay.c.o:(gst_gl_overlay_filter_texture) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
ld.lld: error: undefined symbol: jpeg_start_decompress
referenced by gstgloverlay.c:686 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstgloverlay.c:686)
gstgloverlay.c.o:(gst_gl_overlay_filter_texture) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
ld.lld: error: undefined symbol: jpeg_read_scanlines
referenced by gstgloverlay.c:722 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstgloverlay.c:722)
gstgloverlay.c.o:(gst_gl_overlay_filter_texture) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
ld.lld: error: undefined symbol: jpeg_finish_decompress
referenced by gstgloverlay.c:724 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstgloverlay.c:724)
gstgloverlay.c.o:(gst_gl_overlay_filter_texture) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
ld.lld: error: undefined symbol: jpeg_destroy_decompress
referenced by gstgloverlay.c:725 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstgloverlay.c:725)
gstgloverlay.c.o:(gst_gl_overlay_filter_texture) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
ld.lld: error: undefined symbol: png_sig_cmp
referenced by gstgloverlay.c:764 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstgloverlay.c:764)
gstgloverlay.c.o:(gst_gl_overlay_filter_texture) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
ld.lld: error: undefined symbol: graphene_matrix_get_type
referenced by gstgltransformation.c:242 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstgltransformation.c:242)
gstgltransformation.c.o:(gst_gl_transformation_class_intern_init) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
referenced by gstglfiltershader.c:384 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstglfiltershader.c:384)
gstglfiltershader.c.o:(_set_uniform) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
referenced by gstglfiltershader.c:384 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstglfiltershader.c:384)
gstglfiltershader.c.o:(_set_uniform) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
ld.lld: error: undefined symbol: graphene_matrix_alloc
referenced by gstgltransformation.c:271 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstgltransformation.c:271)
gstgltransformation.c.o:(gst_gl_transformation_init) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
referenced by gstgltransformation.c:272 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstgltransformation.c:272)
gstgltransformation.c.o:(gst_gl_transformation_init) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
referenced by gstgltransformation.c:273 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstgltransformation.c:273)
gstgltransformation.c.o:(gst_gl_transformation_init) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
referenced 4 more times
ld.lld: error: undefined symbol: png_create_read_struct
referenced by gstgloverlay.c:770 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstgloverlay.c:770)
gstgloverlay.c.o:(gst_gl_overlay_filter_texture) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
ld.lld: error: undefined symbol: png_set_error_fn
referenced by gstgloverlay.c:779 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstgloverlay.c:779)
gstgloverlay.c.o:(gst_gl_overlay_filter_texture) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
ld.lld: error: undefined symbol: png_create_info_struct
referenced by gstgloverlay.c:781 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstgloverlay.c:781)
gstgloverlay.c.o:(gst_gl_overlay_filter_texture) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
ld.lld: error: undefined symbol: png_init_io
referenced by gstgloverlay.c:790 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstgloverlay.c:790)
gstgloverlay.c.o:(gst_gl_overlay_filter_texture) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
ld.lld: error: undefined symbol: png_set_sig_bytes
referenced by gstgloverlay.c:792 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstgloverlay.c:792)
gstgloverlay.c.o:(gst_gl_overlay_filter_texture) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
ld.lld: error: undefined symbol: graphene_vec3_alloc
referenced by gstgltransformation.c:279 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstgltransformation.c:279)
gstgltransformation.c.o:(gst_gl_transformation_init) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
ld.lld: error: undefined symbol: png_read_info
referenced by gstgloverlay.c:794 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstgloverlay.c:794)
gstgloverlay.c.o:(gst_gl_overlay_filter_texture) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
ld.lld: error: undefined symbol: png_get_IHDR
referenced by gstgloverlay.c:796 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstgloverlay.c:796)
gstgloverlay.c.o:(gst_gl_overlay_filter_texture) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
ld.lld: error: undefined symbol: png_set_filler
referenced by gstgloverlay.c:801 (/home/nirbheek/projects/repos/cerbero.git/1.22/build/sources/android_universal/x86_64/gst-plugins-base-1.0-1.22.12/_builddir/…/ext/gl/gstgloverlay.c:801)
gstgloverlay.c.o:(gst_gl_overlay_filter_texture) in archive _deps/gstreamer/install/gstreamer/x86_64/lib/gstreamer-1.0/libgstopengl.a
ld.lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
09:43:23: The process “C:\Program Files\CMake\bin\cmake.exe” exited with code 1.
09:43:23: Error while building/deploying project QGroundControl (kit: Android Qt 6.8.1 Clang x86_64)
09:43:23: When executing step “Build”
09:43:23: Elapsed time: 18:47.
I’m just getting started with Qt Creator and QGroundControl, so I’m still learning the ropes.
So, can we say that this error is from the QGC developer’s side?
Okay okay , no problem
Yes, we can easily run QGC in desktop mode because we cloned it from GitHub. However, it’s not as straightforward on Android. We need to add additional dependencies, but we’re not sure what they are or how to implement them.
In my case, I’ve downloaded GStreamer for Windows to run on desktop, but now I need to download and set it up for Android as well, since it’s not supported for the QGC Android version.
In my opinion, it would be worth trying to download and configure GStreamer for Android to see if that resolves the issue.
When configuring CMake for Android, it downloads GStreamer automatically. I even downloaded GStreamer for Android manually and provided its path in CMake, but it still doesn’t work.
Have you added these paths to the environment variable?
Please run the following command in the Command Prompt and send me a screenshot of the output. I’ll explain what I’ve already tried, as I’m still encountering the same errors. Let’s see if you’re able to successfully install it.
echo %PATH%