QT 5.9 for i.MX6Q and Integrity RTOS build error - unrecognised command line option »-std=c++11«
-
Hello,
I am trying to port QT 5.9 with Sabreauto board(i.MX6Q) and Integrity RTOS.
I'm quite new to QT, so I checked out QT5.9 using :
git clone git://code.qt.io/qt/qt5.git
cd qt5
git checkout 5.9
git submodule update --init qtbase qtimageformats qtsvg qtxmlpatterns qtdeclarative qtquickcontrols qtquickcontrols2And running configure from build directory:
$../qt5/configure -developer-build -xplatform integrity-armv7-imx6 -confirm-license -opensource -nomake examples -nomake tests -no-dbus -silent -no-opengl -static -prefix /home/uidp5510/Project/qt_targetfs
getting the following error:
Preparing build tree...
<srcbase> = /home/uidp5510/qt5/qtbase
<outbase> = /home/uidp5510/qt5build/qtbase
Creating qmake...
cc1plus: Fehler: unrecognised command line option »-std=c++11«
make: *** [project.o] Fehler 1Please tell me, what i must change in order to build QT5.9 without »-std=c++11« error?
which compiler I must use, either gcc latest version or greenhills multi compiler?Hint: My machine have g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 as default.
Thanks.
EDIT: Host OS - Ubuntu 12.04.5 LTS
-
-
@Mahesh-Kumar-Kodanda Your compiler does not support C++11 which is a requirement for Qt 5.9 (and 5.8). You either need to get a newer compiler (4.9) or use older Qt version.
-
Thanks for the reply, I upgraded to Ubuntu 16.04 which have "gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)".
there is no »-std=c++11« error but i have the following error when I ran configure from /qtbuild directory:.
../qt5/configure -developer-build -xplatform integrity-armv7-imx6 -confirm-license -opensource -nomake examples -nomake tests -no-dbus -silent -no-opengl –static –prefix /home/uidp5510/project/qt_on_integrity/targetfs
Creating qmake...
Done.
Info: creating super cache file /home/uidp5510/project/qt_on_integrity/qt5build/.qmake.super
ERROR: Invalid command line parameter '–static'.Is this variable -static used to build "static libraries"?
-
@Mahesh-Kumar-Kodanda It looks like you have two - in front of static
Yes, -static is used to build static libs -
@jsulm You are right, that solved issue..but i cannot compile minimal program.
qtbase/mkspecs/features/toolchain.prf:129: Variable QMAKE_CXX.COMPILER_MACROS is not defined.
ERROR: Cannot compile a minimal program. The toolchain or QMakeSpec is broken.
Check config.log for details.
config.log:
Command line: -developer-build -xplatform integrity-armv7-imx6 -confirm-license -opensource -nomake examples -nomake tests -no-dbus -silent -no-opengl -static -prefix /home/uidp5510/project/qt_on_integrity/targetfs executing config test verifyspec + cd /home/uidp5510/project/qt_on_integrity/qt5build/qtbase/config.tests/common/verifyspec && /home/uidp5510/project/qt_on_integrity/qt5build/qtbase/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += static console single_arch" -early "CONFIG += cross_compile" /home/uidp5510/project/qt_on_integrity/qt5/qtbase/config.tests/common/verifyspec > /home/uidp5510/project/qt_on_integrity/qt5/qtbase/mkspecs/features/toolchain.prf:129: Variable QMAKE_CXX.COMPILER_MACROS is not defined. + cd /home/uidp5510/project/qt_on_integrity/qt5build/qtbase/config.tests/common/verifyspec && MAKEFLAGS= /usr/bin/make > cxintarm -bsp -os_dir -non_shared -c --signed_fields --no_commons --diag_suppress=1,82,228,236,381,611,961,997,1795,1974 --no_implicit_include --link_once_templates -non_shared --new_outside_of_constructor -DINTEGRITY -Ospeed -Olink -Omax --exceptions -DQT_STATICPLUGIN -I/home/uidp5510/project/qt_on_integrity/qt5/qtbase/config.tests/common/verifyspec -I. -I/home/uidp5510/project/qt_on_integrity/qt5/qtbase/mkspecs/integrity-armv7-imx6 -o verifyspec.o /home/uidp5510/project/qt_on_integrity/qt5/qtbase/config.tests/common/verifyspec/verifyspec.cpp > make: cxintarm: Command not found > Makefile:158: recipe for target 'verifyspec.o' failed > make: *** [verifyspec.o] Error 127
Please provide if there is any document which explains "what and all parameters shall be set to build minimal demo image?"
-
@Mahesh-Kumar-Kodanda Do you really need a static build?
-
@jsulm I need to build a demo image to run on i.mx6Q sabreauto board with Integrity RTOS, greenhills suggested static build.
So, i am trying to build that way. You mean the above error is because of static build?Update: Integrity supports only static builds.
-
@Mahesh-Kumar-Kodanda Why does Integrity not support shared libraries? Any system I know does.
The error message says that cxintarm is not found. I'm not sure what it is, it looks like it belongs to Integrity tool chain - you should ask them. -
@Mahesh-Kumar-Kodanda said in QT 5.9 for i.MX6Q and Integrity RTOS build error - unrecognised command line option »-std=c++11«:
cross compile tool chain
For which device? You already use one- why do you ask me to provide one? A cross compile tool chain is not specific to Qt or any other framework/library but to a device.