Qt 5.12 and Android arm64 build
Jan Mulder
jlmulder at xs4all.nl
Thu Nov 15 12:58:42 PST 2018
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
More information about the subsurface
mailing list