Is it possible to build Qt5 with QT_COORD_TYPE=double for Android ARM? (SOLVED)
-
Trying to build Qt5 from sources with qreal as double instead of float for ARM platform.
I've got an error:
@cd gui/ && ( test -e Makefile || /home/user/Qt5.1.1/5.1.1/android_armv7_double/qtbase/bin/qmake /home/user/Qt5.1.1/5.1.1/android_armv7_double/qtbase/src/gui/gui.pro -o Makefile ) && make -f Makefile
make[3]: Entering directory `/home/user/Qt5.1.1/5.1.1/android_armv7_double/qtbase/src/gui'
/home/user/Android/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -c -Wno-psabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -DANDROID -Wa,--noexecstack -std=gnu++0x -g -g -marm -O0 -fno-omit-frame-pointer -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -Wno-psabi -W -D_REENTRANT -fPIC -DQT_NO_PRINTDIALOG -DQT_NO_LIBUDEV -DQT_NO_XCB -DQT_NO_XKBCOMMON -DQT_COORD_TYPE=double -DQT_NO_USING_NAMESPACE -DQT_BUILD_GUI_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_USE_BUNDLED_LIBPNG -DQT_NO_EXCEPTIONS -DQT_CORE_LIB -mfpu=neon -I../../mkspecs/android-g++ -I. -I../../include -I../../include/QtGui -I../../include/QtGui/5.1.1 -I../../include/QtGui/5.1.1/QtGui -Iimage -I../3rdparty/libpng -I../../include/QtCore -I../../include/QtCore/5.1.1 -I../../include/QtCore/5.1.1/QtCore -I.moc/debug-shared -I/home/user/Android/android-ndk-r9/sources/cxx-stl/gnu-libstdc++/4.8/include -I/home/user/Android/android-ndk-r9/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include -I/home/user/Android/android-ndk-r9/platforms/android-9/arch-arm/usr/include painting/qdrawhelper_neon.cpp -o .obj/debug-shared/qdrawhelper_neon.o
In file included from ../../include/QtGui/5.1.1/QtGui/private/qdrawhelper_p.h:1:0,
from painting/qdrawhelper_neon.cpp:42:
../../include/QtGui/5.1.1/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h: In instantiation of 'static void QRadialFetchSimd<Simd>::fetch(uint*, uint*, const Operator*, const QSpanData*, qreal, qreal, qreal, qreal, qreal) [with Simd = QSimdNeon; uint = unsigned int; qreal = double]':
../../include/QtGui/5.1.1/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h:440:98: required from 'const uint* qt_fetch_radial_gradient_template(uint*, const Operator*, const QSpanData*, int, int, int) [with RadialFetchFunc = QRadialFetchSimd<QSimdNeon>; uint = unsigned int]'
painting/qdrawhelper_neon.cpp:995:106: required from here
../../include/QtGui/5.1.1/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h:503:94: error: call of overloaded 'v_dup(qreal)' is ambiguous
const typename Simd::Float32x4 v_delta_delta_det16 = Simd::v_dup(16 * delta_delta_det);
^
../../include/QtGui/5.1.1/QtGui/private/../../../../../src/gui/painting/qdrawhelper_p.h:503:94: note: candidates are:
painting/qdrawhelper_neon.cpp:967:29: note: static QSimdNeon::Float32x4 QSimdNeon::v_dup(float)
static inline Float32x4 v_dup(float x) { return vdupq_n_f32(x); }
^
...
...
painting/qdrawhelper_neon.cpp:969:27: note: static QSimdNeon::Int32x4 QSimdNeon::v_dup(uint)
static inline Int32x4 v_dup(uint x) { return vdupq_n_s32(x); }
^
make[3]: *** [.obj/debug-shared/qdrawhelper_neon.o] Error 1
@Any ideas? Thanks.
-
welcome to devnet
You need to wait probably a bit more time for answers. -"See your other post on basically the same topic."-
Android version is already used, but the contributions are still a bit slow in the forum.[edit, decided to merge the posts later, koahnig]
-
Looks like it is a good idea to search for a bug report on "JIRA":https://bugreports.qt-project.org/secure/Dashboard.jspa
Especially when you have found a workaround you can add to existing bug reports. If there is no report filed, file a new one.