On 15-11-2018 10:38, Jan Mulder wrote:
On 15-11-2018 01:51, Thiago Macieira wrote:
On Wednesday, 14 November 2018 13:28:04 PST Jan Mulder wrote:
One weird thing I could not solve up to now is an undefined reference from
the linker (QtAndroid::runOnAndroidThread); a construct to set the color
of the header and footer to our liking.

That sounds like a mix of two Qt versions, since runOnAndroidThread is defined in qjnihelpers.cpp, inside QtCore, without any #if. That is, you're compiling against 5.12, but linking (or running) against 5.11. Check your environment.

Did check, and do not find any reference to 5.11 in the build logs, have no Qt related environment variables, moved my 5.11 tree away and did a full rebuild, and the mobile app is telling in the log: build with 5.12.0, runtime from 5.12.0. So, while I would like to believe that there is something wrong in my environment, I have hard time pinpointing it.

This said, I just found something that seems related. Interfacing using Bluetooth using the mobile app crashes. Logcat shows:  AndroidRuntime: java.lang.UnsatisfiedLinkError: No implementation found for void org.qtproject.qt5.android.bluetooth.QtBluetoot hBroadcastReceiver.jniOnReceive. So also here, a link time error. Obviously, the big question is here: is this an error in the Subsurface build process, or is there something missing in Qt 5.12 (as I believe I use 5.12, and do not mix up versions). I can not be missing QtCore as the app would not run in any way.

Let me answer my own question. I made a small android app from one of the Qt examples. Embedded the runOnAndroidThread() call, and that compiles and runs as expected. Ok, a fully different build environment (qmake, clang) but it just works. So its a problem in our build process and not an Qt issue.

--jan

_______________________________________________
subsurface mailing list
subsurface@subsurface-divelog.org
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to