I followed your instructions to setup the toolchain for Android but when I try to build a project with $ qbs profile:"qt57-andgcc49_armv7 I still get the same error: "The profile 'qt57-andgcc49_armv7-armv5te' does not exist.". I also tried using older Qt Version but they did not work either. At the moment I don't know what else to try.
I would like to know which version of Qbs you were using? and what the Qbs file you are building looks like? Thank you very much for your effort :) Tobias > Gesendet: Freitag, 16. September 2016 um 06:23 Uhr > Von: Ch'Gans <[email protected]> > An: [email protected] > Cc: "Jake Petroules" <[email protected]>, "[email protected]" > <[email protected]> > Betreff: Re: Re: [QBS] Support for Qt on Android > > On 16 September 2016 at 15:47, Ch'Gans <[email protected]> wrote: > > On 16 September 2016 at 01:49, <[email protected]> wrote: > >> I am building on linux. I also tried setting up the toolchain with > >> qbs-setup-toolchains but it would not > >> detect the android toolchain. So I tried to configure it in the > >> qbs-config-ui but it didn't help either > >> because I still got the error of the missing armv5 profile (which does not > >> make any sense to me > >> because I am using armv7...). > >> In Qt Creator the profile looks fine to me and the profile it refers to > >> actually exists in $HOME/.config > >> /QtProject/qbs/ but as I soon as QtC tries to parse the qbs it is looking > >> for an armv5 profile which > >> does not exist. The issue is similiar to one of the bugs Jake referred to > >> https://bugreports.qt.io > >> /browse/QBS-881. > >> > >> Were you able to parse a qbs project with your profile for qt on Android? > >> > >> Thanks for helping with my problem :) > > > > This is how far i manage to go: > > > > # After failing setting up the toolchain manually, i discovered a new > > qbs tool... ;) > > $ qbs-setup-android --ndk-dir /opt/android/android-ndk-r12b/ --sdk-dir > > /opt/android/android-sdk-linux/ android > > # Et voilĂ ! (almost) > > > > $ qbs-setup-qt /opt/Qt/5.7/android_armv7/bin/qmake qt57-andgcc49_armv7 > > Creating profile 'qt57-andgcc49_armv7'. > > WARNING: You need to set up toolchain information before you can use > > this Qt version for building. However, no toolchain profile was found. > > Either create one using qbs-setup-toolchains and set it as this > > profile's base profile or add the toolchain settings manually to this > > profile. > > > > $ qbs config profiles.qt57-andgcc49_armv7.baseProfile android-armv7a > > > > # Cannot build my project, qbs tells me to set these up > > $ qbs config profiles.android.Android.ndk.toolchainVersion 4.9 > > $ qbs config profiles.android.Android.ndk.hostArch linux-x86_64 > > $ qbs config profiles.android.Android.ndk.toolchainVersionNumber 4.9 > > > > At this stage, i can run qbs, but my build fails, due to some weird > > STL issues i am currently investigating... (can't find "algorithm" > > header) > > Qbs tries to build my code with > > "-isystem/opt/android/android-ndk-r12b/sources/cxx-stl/system/include", > > which should be instead > > "-isystem/opt/android/android-ndk-r12b/sources/cxx-stl/gnu-libstdc++/4.9/include/" > > This is where the header is located, and this is where android-g++ > > mkspec points to. > > I'm currently investigating the source of > > /opt/Qt/Tools/QtCreator/share/qtcreator/qbs/share/qbs/modules/cpp/android-gcc.qbs > > > > Just found a workaround, i'm pretty sure i should set that in my own > > qbs files, but will do for now > > $ qbs config profiles.android.Android.ndk.appStl gnustl_shared > > > > And now trying to solve another issue: > > arm-linux-androideabi-g++: error: unrecognized command line option > > '--fix-cortex-a8' > > > > Which is set in > > /opt/Qt/Tools/QtCreator/share/qtcreator/qbs/share/qbs/modules/Android/ndk/utils.js > > when abi is "armeabi-v7a", which is my case, ... weird! > > This one is related to the new way (Qbs-1.6) of declaring linkerFlags, > I got a warning message about this: > WARNING: Enabling linker flags compatibility mode. cpp.linkerFlags and > cpp.platformLinkerFlags escaping is handled automatically beginning in > Qbs 1.6. When upgrading to Qbs 1.6, you should only pass raw linker > flags to these properties; do not escape them using -Wl or -Xlinker. > This allows Qbs to automatically supply the correct linker flags > regardless of whether the linker chosen is the compiler driver or > system linker (see the documentation for cpp.linkerMode for more > information). This message can be silenced by setting your Project's > minimumQbsVersion to 1.6 (and the new behavior will take effect). > > My understanding is that the old behaviour is kept if i don't > explicitly require Qbs 1.6 (which is my case so far), yet > modules/Android/ndk/utils.js returns linker flags without the -Wl > prefix, which seems to cause troubles... > > OK, I have now switched to minimumQbsVersion="1.6", and the error is gone. > > BTW, why do i have to set minimumQbsVersion="1.6" in all my > sub-projects? I thought this was enough to set that up in the > top-level project... > > So, FYI, I am now able to build my whole project for Android as > described above! \o/ > I now have to work on deployment, and see if it runs! > > Chris > > > > > > Will keep posted! > > > > Chris > > > >> > >> > >>> Gesendet: Donnerstag, 15. September 2016 um 02:07 Uhr > >>> Von: "Chris Gagneraud" <[email protected]> > >>> An: [email protected] > >>> Cc: "Jake Petroules" <[email protected]>, "[email protected]" > >>> <[email protected]> > >>> Betreff: Re: [QBS] Support for Qt on Android > >>> > >>> > QtCreator manage its own Qbs profiles, that you cannot (easily) re-use > >>> > "manually". > >>> > Have you try to run "qbs setup-toolchain" and see if it picks up the > >>> > android one? > >>> > > >>> >Chris > >>> I've just tried here, after installing all Android, Java and Qt > >>> packages and selecting an android kit, QtC tells me: > >>> > >>> Cannot find the android build step. > >>> Error while building/deploying project XYZ (kit: Android for > >>> armeabi-v7a (GCC 4.9, Qt 5.7.0)) > >>> When executing step "Deploy to Android device" > >>> > >>> Tools->Options->Qbs seems to be setup correctly > >>> (cpp.toolchainInstallPath/Prefix points to my Android NDK toolchain) > >>> > >>> I had a quick go at setting up the toolchain manually with > >>> qbs-setup-toolchain, but it refuses to detect the toolchain.... > >>> > >>> Anyway, your problem seems to be different since your associated Qbs > >>> profile look corrupted/missing. > >>> > >>> Which platform are you building on? > >>> > >>> On Linux, QtC profiles are stored under > >>> $HOME/.config/QtProject/qtcreator/qbs > >>> > >>> Whereas your "regular" qbs profiles are stored under > >>> $HOME/.config/QtProject/qbs/ > >>> > >>> Chris > >> > >>> > _______________________________________________ QBS mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/qbs
