[Development] android arm64-v8a support
thomas vincent
vrince at gmail.com
Fri Nov 14 16:17:54 CET 2014
Hi guys,
I made changes in Qt sources (nothing fancy) to cross compile 5.4 branch is
the following env :
Host
linux_x86_64
Target
arch : arm64 (arm64-v8a)
toolchain : aarch64-linux-android-4.9
platform : android-21
I managed to make and install qt.
Compiling against this qt build works (using qmake directly from the
command line seem to legit binaries).
But I'am stuck making QtCreator recognise this version of Qt as valid one.
I get "Failed to detect the ABIs used by the Qt version"
I guess my change in config.test (arch,...) and mkspec (android-g++) broke
something.
Output of qmake -version seem ok to me :
QT_SYSROOT:
QT_INSTALL_PREFIX:/home/thomas/Qt5.4_arm64
QT_INSTALL_ARCHDATA:/home/thomas/Qt5.4_arm64
QT_INSTALL_DATA:/home/thomas/Qt5.4_arm64
QT_INSTALL_DOCS:/home/thomas/Qt5.4_arm64/doc
QT_INSTALL_HEADERS:/home/thomas/Qt5.4_arm64/include
QT_INSTALL_LIBS:/home/thomas/Qt5.4_arm64/lib
QT_INSTALL_LIBEXECS:/home/thomas/Qt5.4_arm64/libexec
QT_INSTALL_BINS:/home/thomas/Qt5.4_arm64/bin
QT_INSTALL_TESTS:/home/thomas/Qt5.4_arm64/tests
QT_INSTALL_PLUGINS:/home/thomas/Qt5.4_arm64/plugins
QT_INSTALL_IMPORTS:/home/thomas/Qt5.4_arm64/imports
QT_INSTALL_QML:/home/thomas/Qt5.4_arm64/qml
QT_INSTALL_TRANSLATIONS:/home/thomas/Qt5.4_arm64/translations
QT_INSTALL_CONFIGURATION:
QT_INSTALL_EXAMPLES:/home/thomas/Qt5.4_arm64/examples
QT_INSTALL_DEMOS:/home/thomas/Qt5.4_arm64/examples
QT_HOST_PREFIX:/home/thomas/Qt5.4_arm64
QT_HOST_DATA:/home/thomas/Qt5.4_arm64
QT_HOST_BINS:/home/thomas/Qt5.4_arm64/bin
QT_HOST_LIBS:/home/thomas/Qt5.4_arm64/lib
QMAKE_SPEC:linux-g++
QMAKE_XSPEC:android-g++
QMAKE_VERSION:3.0
QT_VERSION:5.4.0
Can any one can guide me on those last miles to make it work ?
I'am note sure if this is on the Qtcreator side that I have to add
something about arm64 too ...
Best regards,
Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20141114/07a2d6e1/attachment.html>
-------------- next part --------------
+ cd qtbase
+ /home/thomas/QtSource/qt5/qtbase/configure -top-level -xplatform android-g++ -nomake tests -nomake examples -android-ndk /home/thomas/Downloads/android-ndk-r10c -android-sdk /home/thomas/Downloads/adt-bundle-linux-x86_64-20140702/sdk -android-ndk-host linux-x86_64 -android-toolchain-version 4.9 -android-ndk-platform android-21 -android-arch arm64-v8a -skip qtwebkit -skip qtserialport -skip qtwebkit-examples -no-warnings-are-errors -prefix /home/thomas/Qt5.4_arm64 -no-c++11 -no-xcb -no-cups
Which edition of Qt do you want to use ?
Type 'c' if you want to use the Commercial Edition.
Type 'o' if you want to use the Open Source Edition.
Which edition of Qt do you want to use ?
Type 'c' if you want to use the Commercial Edition.
Type 'o' if you want to use the Open Source Edition.
This is the Qt Open Source Edition.
You are licensed to use this software under the terms of
the GNU Lesser General Public License (LGPL) versions 3.
Type '3' to view the GNU Lesser General Public License version 3.
Type 'yes' to accept this license offer.
Type 'no' to decline this license offer.
Do you accept the terms of the license?
<srcbase> = /home/thomas/QtSource/qt5/qtbase
<outbase> = /home/thomas/QtSource/qt5/qtbase
Creating qmake...
make: Nothing to be done for `first'.
Running configuration tests...
Qmake exit val : 0
Configure summary
Building on: linux-g++ (x86_64, CPU features: mmx sse sse2)
Building for: android-g++ (arm64, CPU features: none detected)
Platform notes:
- Also available for Linux: linux-kcc linux-icc linux-cxx
Build options:
Configuration .......... accessibility android-style-assets audio-backend clock-gettime clock-monotonic compile_examples concurrent cross_compile egl eglfs evdev eventfd freetype full-config getaddrinfo harfbuzz inotify ipv6ifname large-config medium-config minimal-config mremap no-pkg-config opengl opengles2 pcre png posix_fallocate precompile_header qpa qpa reduce_exports release rpath shared small-config system-zlib
Build parts ............ libs
Mode ................... release
Using C++11 ............ no
Using gold linker....... no
Using PCH .............. yes
Target compiler supports:
Qt modules and options:
Qt D-Bus ............... no
Qt Concurrent .......... yes
Qt GUI ................. yes
Qt Widgets ............. yes
Large File ............. no
QML debugging .......... yes
Use system proxies ..... no
Support enabled for:
Accessibility .......... yes
ALSA ................... no
CUPS ................... no
Evdev .................. yes
FontConfig ............. no
FreeType ............... yes (bundled copy)
Glib ................... no
GTK theme .............. no
HarfBuzz ............... yes (bundled copy)
Iconv .................. no
ICU .................... no
Image formats:
GIF .................. yes (plugin, using bundled copy)
JPEG ................. yes (plugin, using bundled copy)
PNG .................. yes (in QtGui, using bundled copy)
journald ............... no
mtdev .................. no
Networking:
getaddrinfo .......... yes
getifaddrs ........... no
IPv6 ifname .......... yes
OpenSSL .............. no
NIS .................... no
OpenGL / OpenVG:
EGL .................. yes
OpenGL ............... yes (OpenGL ES 2.0+)
OpenVG ............... no
PCRE ................... yes (bundled copy)
pkg-config ............. no
PulseAudio ............. no
QPA backends:
DirectFB ............. no
EGLFS ................ yes
KMS .................. no
LinuxFB .............. no
XCB .................. no
Session management ..... yes
SQL drivers:
DB2 .................. no
InterBase ............ no
MySQL ................ no
OCI .................. no
ODBC ................. no
PostgreSQL ........... no
SQLite 2 ............. no
SQLite ............... yes (plugin, using bundled copy)
TDS .................. no
udev ................... no
xkbcommon .............. no
zlib ................... yes (system library)
Qt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into /home/thomas/Qt5.4_arm64
Prior to reconfiguration, make sure you remove any leftovers from
the previous build.
More information about the Development
mailing list