Discussion:
[Mingw-cross-env-list] QGuiApplication: No such file or directory
Absolute Zero
2018-11-29 16:17:50 UTC
Permalink
Hi,
to cross compile my App (from Linux) to Windows, I installed MXE. However ,
when running the command to cross compile, I got this error:

***@lap:~/dev/Connekt2$
/home/niko/sources/mxe/usr/i686-w64-mingw32.static/qt/bin/qmake && make
Project MESSAGE: Warning: unknown QT: qml
Project MESSAGE: Warning: unknown QT: quick
Project MESSAGE: Warning: unknown QT: quickcontrols2
Project MESSAGE: Warning: unknown QT: webview
Project MESSAGE: Warning: unknown QT: qml
Project MESSAGE: Warning: unknown QT: quick
Project MESSAGE: Warning: unknown QT: quickcontrols2
Project MESSAGE: Warning: unknown QT: webview
Project MESSAGE: Warning: unknown QT: qml
Project MESSAGE: Warning: unknown QT: quick
Project MESSAGE: Warning: unknown QT: quickcontrols2
Project MESSAGE: Warning: unknown QT: webview
make -f Makefile.Release
make[1]: Entering directory '/home/niko/dev/Connekt2'
i686-w64-mingw32.static-g++ -c -pipe -fno-keep-inline-dllexport -O2 -frtti
-fexceptions -mthreads -Wall -Wextra -DUNICODE -DQT_DEPRECATED_WARNINGS
-DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB
-DQT_THREAD_SUPPORT
-I'../../sources/mxe/usr/i686-w64-mingw32.static/qt/include/QtCore'
-I'../../sources/mxe/usr/i686-w64-mingw32.static/qt/include/QtNetwork'
-I'../../sources/mxe/usr/i686-w64-mingw32.static/qt/include/QtGui'
-I'../../sources/mxe/usr/i686-w64-mingw32.static/qt/include'
-I'../../sources/mxe/usr/i686-w64-mingw32.static/qt/include/ActiveQt'
-I'release'
-I'../../sources/mxe/usr/i686-w64-mingw32.static/qt/mkspecs/win32-g++-4.6'
-o release/main.o main.cpp
main.cpp:1:27: fatal error: QGuiApplication: No such file or directory
compilation terminated.
Makefile.Release:270: recipe for target 'release/main.o' failed
make[1]: *** [release/main.o] Error 1
make[1]: Leaving directory '/home/niko/dev/Connekt2'
Makefile:34: recipe for target 'release' failed
make: *** [release] Error 2


Seemed to me weird that QGuiApplication is not part of the source code, so
I ran this command:

***@lap:~/sources/mxe$ find usr/i686-w64-mingw32.static/qt/include/
-iname "*appl*"
usr/i686-w64-mingw32.static/qt/include/Qt/qcoreapplication.h
usr/i686-w64-mingw32.static/qt/include/Qt/qs60mainapplication.h
usr/i686-w64-mingw32.static/qt/include/Qt/qapplication.h
usr/i686-w64-mingw32.static/qt/include/QtCore/qcoreapplication.h
usr/i686-w64-mingw32.static/qt/include/QtCore/QCoreApplication
usr/i686-w64-mingw32.static/qt/include/QtGui/QAccessibleApplication
usr/i686-w64-mingw32.static/qt/include/QtGui/qs60mainapplication.h
usr/i686-w64-mingw32.static/qt/include/QtGui/QS60MainApplicationBase
usr/i686-w64-mingw32.static/qt/include/QtGui/QS60MainApplication
usr/i686-w64-mingw32.static/qt/include/QtGui/qapplication.h
usr/i686-w64-mingw32.static/qt/include/QtGui/QApplication
***@lap:~/sources/mxe$

And found that indeed, QGuiApplication source file is not included.

So, my questions are, does MXE has the same Qt version as the Qt company (
qt.io)? If not , is it possible to update Qt sources to (for example) 5.11
version and crosscompile successfuly?

Thanks in advance
Nulik
Mark Brand
2018-11-29 22:51:21 UTC
Permalink
Post by Absolute Zero
Hi,
to cross compile my App (from Linux) to Windows, I installed MXE.
/home/niko/sources/mxe/usr/i686-w64-mingw32.static/qt/bin/qmake && make
Project MESSAGE: Warning: unknown QT: qml
<snip>
Post by Absolute Zero
So, my questions are, does MXE has the same Qt version as the Qt
company (qt.io <http://qt.io>)? If not , is it possible to update Qt
sources to (for example) 5.11 version and crosscompile successfuly?
Please see https://mxe.cc/#tutorial, especially "Step 5c".

In MXE "make qt" builds Qt 4. For Qt 5, MXE has a separate module as a
separate. Start with "make qtbase".

regards,

Mark

Loading...