Can't build Qt 6.4
-
Hi,
my environment is
Windows 10
MinGW (mingw64) gcc 2.12.0 g++ 2.12.0
CMake 3.25.1
python 3.10.9
perl 5 (v.5.16.0)
ninja (1.11.1)and am trying to build by having downloaded sources and extracted the file qt-everywhere-src-6.4.0.zip
After extracting had a read of the README.MD file and followed literally the instructions.
As pointed by the file, I proceed executing:
cd C:/qt-everywhere-src-6.4.0 (unzipped folder)
./configure -prefix C:/qt-everywhere-src-6.4.0/qtbasewhich works as expected (had prepared some txt files with output of the build process but the forum appears to disallow loading files).
Final output is:
-- Configuring done
-- Generating done
-- Build files have been written to: C:/qt-everywhere-src-6.4.0Then I execute step 2:
cmake --build .Since output is very long and file upload seems unavailable, I attach some output snippets for you to have an idea of the sort of warnings and errors I am facing, and hopefully you may be able to give me some orientation:
======================= snippet 1 ==================
[755/10648] Building CXX object qtbase/src/tools/uic/CMakeFiles/uic.dir/customwidgetsinfo.cpp.obj
In file included from C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/qlocale.h:1,
from c:\qt-everywhere-src-6.4.0\qtbase\src\corelib\time\qcalendar.h:10,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/qcalendar.h:1,
from c:\qt-everywhere-src-6.4.0\qtbase\src\corelib\time\qdatetime.h:11,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/qdatetime.h:1,
from c:\qt-everywhere-src-6.4.0\qtbase\src\corelib\io\qfileinfo.h:11,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/qfileinfo.h:1,
from c:\qt-everywhere-src-6.4.0\qtbase\src\corelib\io\qdir.h:9,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/qdir.h:1,
from C:/qt-everywhere-src-6.4.0/qtbase/src/tools/uic/option.h:8,
from C:/qt-everywhere-src-6.4.0/qtbase/src/tools/uic/driver.h:7,
from C:/qt-everywhere-src-6.4.0/qtbase/src/tools/uic/customwidgetsinfo.cpp:5:
c:\qt-everywhere-src-6.4.0\qtbase\src\corelib\text\qlocale.h:1120:33: warning: 'size_t qHash(const QLocale&, size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
1120 | friend Q_CORE_EXPORT size_t qHash(const QLocale &key, size_t seed) noexcept;
| ^~~~~===================== end snippet 1 ===================
================ snippet 2 ===========================
[995/10648] Building CXX object qtbase/src/gui/CMakeFiles/Gui.dir/painting/qdrawhelper.cpp.obj
In file included from C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/qversionnumber.h:1,
from c:\qt-everywhere-src-6.4.0\qtbase\src\corelib\global\qoperatingsystemversion.h:5,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/qoperatingsystemversion.h:1,
from c:\qt-everywhere-src-6.4.0\qtbase\src\corelib\global\qglobal_p.h:75,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/6.4.0/QtCore/private/qglobal_p.h:1,
from c:\qt-everywhere-src-6.4.0\qtbase\src\gui\kernel\qtguiglobal_p.h:19,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtGui/6.4.0/QtGui/private/qtguiglobal_p.h:1,
from C:/qt-everywhere-src-6.4.0/qtbase/src/gui/painting/qdrawhelper_p.h:18,
from C:/qt-everywhere-src-6.4.0/qtbase/src/gui/painting/qdrawhelper.cpp:5:
c:\qt-everywhere-src-6.4.0\qtbase\src\corelib\tools\qversionnumber.h:299:39: warning: 'QDataStream& operator>>(QDataStream&, QVersionNumber&)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
299 | friend Q_CORE_EXPORT QDataStream& operator>>(QDataStream &in, QVersionNumber &version);
| ^~~~~~~~
c:\qt-everywhere-src-6.4.0\qtbase\src\corelib\tools\qversionnumber.h:301:33: warning: 'size_t qHash(const QVersionNumber&, size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
301 | friend Q_CORE_EXPORT size_t qHash(const QVersionNumber &key, size_t seed);
| ^~~~~
In file included from C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/qlocale.h:1,
from c:\qt-everywhere-src-6.4.0\qtbase\src\gui\kernel\qguiapplication.h:11,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtGui/qguiapplication.h:1,
from C:/qt-everywhere-src-6.4.0/qtbase/src/gui/painting/qdrawhelper.cpp:8:
c:\qt-everywhere-src-6.4.0\qtbase\src\corelib\text\qlocale.h:1120:33: warning: 'size_t qHash(const QLocale&, size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
1120 | friend Q_CORE_EXPORT size_t qHash(const QLocale &key, size_t seed) noexcept;
| ^~~~~
In file included from C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/qurl.h:1,
from c:\qt-everywhere-src-6.4.0\qtbase\src\gui\kernel\qevent.h:15,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtGui/qevent.h:1,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtGui/QTouchEvent:1,
from c:\qt-everywhere-src-6.4.0\qtbase\src\gui\kernel\qwindowsysteminterface.h:24,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtGui/6.4.0/QtGui/qpa/qwindowsysteminterface.h:1,
from c:\qt-everywhere-src-6.4.0\qtbase\src\gui\kernel\qguiapplication_p.h:31,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtGui/6.4.0/QtGui/private/qguiapplication_p.h:1,
from C:/qt-everywhere-src-6.4.0/qtbase/src/gui/painting/qdrawhelper.cpp:19:
c:\qt-everywhere-src-6.4.0\qtbase\src\corelib\io\qurl.h:266:33: warning: 'size_t qHash(const QUrl&, size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
266 | friend Q_CORE_EXPORT size_t qHash(const QUrl &url, size_t seed) noexcept;
| ^~~~~
ninja: build stopped: subcommand failed.
================end snippet 2=====================No matter how I approach, either by executing the afore mentioned commands, or building by:
cmake -G Ninja
cmake --build .which doesn't work either and always stop at the same point.
If I try to continue the build where it stopped, it builds some more objects and fails after a few seconds.
In the overall the progress counter shows around 10500 objects to be build. Well I get to 1300 roughly.
Have tried many things and if surfing the web I see suggestions such as modifing header files, but I find that not logical to have to modify a prepared source package like this.
Any hints on the right direction are greatly appreciated.
By the way have tried installing binaries as well with the online installer and all runs well. But when I try to run a "hello world" app I get errors at building the final executable pointing to some kind of invalid references like 'IP_Something' (sorry can't reproduce the exact names since I have deleted already the built folder and not being able now to reproduce the name), so that didn't work either.
Well thanks for the patience.
Hope anybody can help.
Regards,
Carlos. -
Hi,
my environment is
Windows 10
MinGW (mingw64) gcc 2.12.0 g++ 2.12.0
CMake 3.25.1
python 3.10.9
perl 5 (v.5.16.0)
ninja (1.11.1)and am trying to build by having downloaded sources and extracted the file qt-everywhere-src-6.4.0.zip
After extracting had a read of the README.MD file and followed literally the instructions.
As pointed by the file, I proceed executing:
cd C:/qt-everywhere-src-6.4.0 (unzipped folder)
./configure -prefix C:/qt-everywhere-src-6.4.0/qtbasewhich works as expected (had prepared some txt files with output of the build process but the forum appears to disallow loading files).
Final output is:
-- Configuring done
-- Generating done
-- Build files have been written to: C:/qt-everywhere-src-6.4.0Then I execute step 2:
cmake --build .Since output is very long and file upload seems unavailable, I attach some output snippets for you to have an idea of the sort of warnings and errors I am facing, and hopefully you may be able to give me some orientation:
======================= snippet 1 ==================
[755/10648] Building CXX object qtbase/src/tools/uic/CMakeFiles/uic.dir/customwidgetsinfo.cpp.obj
In file included from C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/qlocale.h:1,
from c:\qt-everywhere-src-6.4.0\qtbase\src\corelib\time\qcalendar.h:10,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/qcalendar.h:1,
from c:\qt-everywhere-src-6.4.0\qtbase\src\corelib\time\qdatetime.h:11,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/qdatetime.h:1,
from c:\qt-everywhere-src-6.4.0\qtbase\src\corelib\io\qfileinfo.h:11,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/qfileinfo.h:1,
from c:\qt-everywhere-src-6.4.0\qtbase\src\corelib\io\qdir.h:9,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/qdir.h:1,
from C:/qt-everywhere-src-6.4.0/qtbase/src/tools/uic/option.h:8,
from C:/qt-everywhere-src-6.4.0/qtbase/src/tools/uic/driver.h:7,
from C:/qt-everywhere-src-6.4.0/qtbase/src/tools/uic/customwidgetsinfo.cpp:5:
c:\qt-everywhere-src-6.4.0\qtbase\src\corelib\text\qlocale.h:1120:33: warning: 'size_t qHash(const QLocale&, size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
1120 | friend Q_CORE_EXPORT size_t qHash(const QLocale &key, size_t seed) noexcept;
| ^~~~~===================== end snippet 1 ===================
================ snippet 2 ===========================
[995/10648] Building CXX object qtbase/src/gui/CMakeFiles/Gui.dir/painting/qdrawhelper.cpp.obj
In file included from C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/qversionnumber.h:1,
from c:\qt-everywhere-src-6.4.0\qtbase\src\corelib\global\qoperatingsystemversion.h:5,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/qoperatingsystemversion.h:1,
from c:\qt-everywhere-src-6.4.0\qtbase\src\corelib\global\qglobal_p.h:75,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/6.4.0/QtCore/private/qglobal_p.h:1,
from c:\qt-everywhere-src-6.4.0\qtbase\src\gui\kernel\qtguiglobal_p.h:19,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtGui/6.4.0/QtGui/private/qtguiglobal_p.h:1,
from C:/qt-everywhere-src-6.4.0/qtbase/src/gui/painting/qdrawhelper_p.h:18,
from C:/qt-everywhere-src-6.4.0/qtbase/src/gui/painting/qdrawhelper.cpp:5:
c:\qt-everywhere-src-6.4.0\qtbase\src\corelib\tools\qversionnumber.h:299:39: warning: 'QDataStream& operator>>(QDataStream&, QVersionNumber&)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
299 | friend Q_CORE_EXPORT QDataStream& operator>>(QDataStream &in, QVersionNumber &version);
| ^~~~~~~~
c:\qt-everywhere-src-6.4.0\qtbase\src\corelib\tools\qversionnumber.h:301:33: warning: 'size_t qHash(const QVersionNumber&, size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
301 | friend Q_CORE_EXPORT size_t qHash(const QVersionNumber &key, size_t seed);
| ^~~~~
In file included from C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/qlocale.h:1,
from c:\qt-everywhere-src-6.4.0\qtbase\src\gui\kernel\qguiapplication.h:11,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtGui/qguiapplication.h:1,
from C:/qt-everywhere-src-6.4.0/qtbase/src/gui/painting/qdrawhelper.cpp:8:
c:\qt-everywhere-src-6.4.0\qtbase\src\corelib\text\qlocale.h:1120:33: warning: 'size_t qHash(const QLocale&, size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
1120 | friend Q_CORE_EXPORT size_t qHash(const QLocale &key, size_t seed) noexcept;
| ^~~~~
In file included from C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/qurl.h:1,
from c:\qt-everywhere-src-6.4.0\qtbase\src\gui\kernel\qevent.h:15,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtGui/qevent.h:1,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtGui/QTouchEvent:1,
from c:\qt-everywhere-src-6.4.0\qtbase\src\gui\kernel\qwindowsysteminterface.h:24,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtGui/6.4.0/QtGui/qpa/qwindowsysteminterface.h:1,
from c:\qt-everywhere-src-6.4.0\qtbase\src\gui\kernel\qguiapplication_p.h:31,
from C:/qt-everywhere-src-6.4.0/qtbase/include/QtGui/6.4.0/QtGui/private/qguiapplication_p.h:1,
from C:/qt-everywhere-src-6.4.0/qtbase/src/gui/painting/qdrawhelper.cpp:19:
c:\qt-everywhere-src-6.4.0\qtbase\src\corelib\io\qurl.h:266:33: warning: 'size_t qHash(const QUrl&, size_t)' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
266 | friend Q_CORE_EXPORT size_t qHash(const QUrl &url, size_t seed) noexcept;
| ^~~~~
ninja: build stopped: subcommand failed.
================end snippet 2=====================No matter how I approach, either by executing the afore mentioned commands, or building by:
cmake -G Ninja
cmake --build .which doesn't work either and always stop at the same point.
If I try to continue the build where it stopped, it builds some more objects and fails after a few seconds.
In the overall the progress counter shows around 10500 objects to be build. Well I get to 1300 roughly.
Have tried many things and if surfing the web I see suggestions such as modifing header files, but I find that not logical to have to modify a prepared source package like this.
Any hints on the right direction are greatly appreciated.
By the way have tried installing binaries as well with the online installer and all runs well. But when I try to run a "hello world" app I get errors at building the final executable pointing to some kind of invalid references like 'IP_Something' (sorry can't reproduce the exact names since I have deleted already the built folder and not being able now to reproduce the name), so that didn't work either.
Well thanks for the patience.
Hope anybody can help.
Regards,
Carlos.@CarlosCz25 said in Can't build Qt 6.4:
MinGW (mingw64) gcc 2.12.0 g++ 2.12.0
This must be a typo. What exactly did you use?
Please use the official supported MinGW compiler (e.g. install thorugh the online installer) which is currently 11.2 -
@CarlosCz25 said in Can't build Qt 6.4:
MinGW (mingw64) gcc 2.12.0 g++ 2.12.0
This must be a typo. What exactly did you use?
Please use the official supported MinGW compiler (e.g. install thorugh the online installer) which is currently 11.2@Christian-Ehrlicher
Hi Christian,thanks for your reply. I have made some progress. But not solved it yet.
Since you pointed to a specific compiler version, what I did was to download and install Qt with the online installer and let it install the tools coming with it. This effectively installed the compilers officially recommended to build Qt, as you see in the short output snippet posted below.
If I try to make the build through Ninja, I get the following first lines:
C:\qt-everywhere-src-6.4.0\build>cmake -G Ninja ..
-- The CXX compiler identification is GNU 11.2.0
-- The C compiler identification is GNU 11.2.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/Qt/Tools/mingw1120_64/bin/gcc.exe
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Qt/Tools/mingw1120_64/bin/g++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Qt/Tools/mingw1120_64/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - doneAs you can see I have used the tools recommended by Qt.
Now if I run :
cmake --build .
I get the following error, which seems to be related with blank spaces present in my MySQL installation path upon calling windres.exe
==========================================
[2432/10648] Building RC object qtbase/src/plugins/sqldrivers/mysql/CMakeFiles/QMYSQLDriverPlugin.dir/QMYSQLDriverPlugin_resource.rc.obj
FAILED: qtbase/src/plugins/sqldrivers/mysql/CMakeFiles/QMYSQLDriverPlugin.dir/QMYSQLDriverPlugin_resource.rc.obj
C:\Qt\Tools\mingw1120_64\bin\windres.exe -O coff -DMINGW_HAS_SECURE_API=1 -DQMYSQLDriverPlugin_EXPORTS -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DEPRECATED_WARNINGS_SINCE=0x070000 -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_LEAN_HEADERS=1 -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_EXCEPTIONS -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_PLUGIN -DQT_SQL_LIB -DUNICODE -DWIN32 -DWIN64 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_UNICODE -D_WIN64 -I C:/qt-everywhere-src-6.4.0/qtbase/src/plugins/sqldrivers/mysql/QMYSQLDriverPlugin_autogen/include -I C:/qt-everywhere-src-6.4.0/qtbase/src/plugins/sqldrivers/mysql -I C:/qt-everywhere-src-6.4.0/qtbase/include -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore -I C:/qt-everywhere-src-6.4.0/qtbase/mkspecs/win32-g++ -I C:/qt-everywhere-src-6.4.0/qtbase/src/corelib -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/6.4.0 -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/6.4.0/QtCore -I C:/qt-everywhere-src-6.4.0/qtbase/src/sql -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtSql/6.4.0 -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtSql/6.4.0/QtSql -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtSql -I "C:/Program Files/MySQL/MySQL Server 8.0/include" C:/qt-everywhere-src-6.4.0/qtbase/src/plugins/sqldrivers/mysql/QMYSQLDriverPlugin_resource.rc qtbase/src/plugins/sqldrivers/mysql/CMakeFiles/QMYSQLDriverPlugin.dir/QMYSQLDriverPlugin_resource.rc.obj
cc1.exe: fatal error: Files/MySQL/MySQL: No such file or directory
compilation terminated.
cc1.exe: fatal error: Server: No such file or directory
compilation terminated.
cc1.exe: fatal error: 8.0/include: No such file or directory
compilation terminated.
C:\Qt\Tools\mingw1120_64\bin\windres.exe: preprocessing failed.
[2449/10648] Building CXX object qtbase/src/testlib/CMakeFiles/Test.dir/cmake_pch.hxx.gch
ninja: build stopped: subcommand failed.============================================
Can I somehow discard the MySQL from the build. I don't strictly need that for my Qt related purposes. Or can I place Mysql include files somewhere else, or somehow correct the way cmake and windres handle that path. It is enclosed in double quotes in the call:
windres.exe -O coff -DMINGW_HA (...) de/QtSql -I "C:/Program Files/MySQL/MySQL Server 8.0/include" C:/qt-everywhere-src-6.4.0/build/qtbase/src/plugins/sqldrivers/mysql/QMYSQLDriverPlugin_resource.rc qtbase/src/plugins/sqldrivers/mysql/CMakeFiles/QMYSQLDriverPlugin.dir/QMYSQLDriverPlugin_resource.rc.obj
Any help is greatly appreciated. Still having issues but many "redeclared without dllimport" errors are now gone, apparently thanks to switching the compiler version. So happy for that.
Many thanks. Any help with that path related problem would be greatly appreciated.
Regards,
Carlos. -
@Christian-Ehrlicher
Hi Christian,thanks for your reply. I have made some progress. But not solved it yet.
Since you pointed to a specific compiler version, what I did was to download and install Qt with the online installer and let it install the tools coming with it. This effectively installed the compilers officially recommended to build Qt, as you see in the short output snippet posted below.
If I try to make the build through Ninja, I get the following first lines:
C:\qt-everywhere-src-6.4.0\build>cmake -G Ninja ..
-- The CXX compiler identification is GNU 11.2.0
-- The C compiler identification is GNU 11.2.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/Qt/Tools/mingw1120_64/bin/gcc.exe
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Qt/Tools/mingw1120_64/bin/g++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Qt/Tools/mingw1120_64/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - doneAs you can see I have used the tools recommended by Qt.
Now if I run :
cmake --build .
I get the following error, which seems to be related with blank spaces present in my MySQL installation path upon calling windres.exe
==========================================
[2432/10648] Building RC object qtbase/src/plugins/sqldrivers/mysql/CMakeFiles/QMYSQLDriverPlugin.dir/QMYSQLDriverPlugin_resource.rc.obj
FAILED: qtbase/src/plugins/sqldrivers/mysql/CMakeFiles/QMYSQLDriverPlugin.dir/QMYSQLDriverPlugin_resource.rc.obj
C:\Qt\Tools\mingw1120_64\bin\windres.exe -O coff -DMINGW_HAS_SECURE_API=1 -DQMYSQLDriverPlugin_EXPORTS -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DEPRECATED_WARNINGS_SINCE=0x070000 -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_LEAN_HEADERS=1 -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_EXCEPTIONS -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_PLUGIN -DQT_SQL_LIB -DUNICODE -DWIN32 -DWIN64 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_UNICODE -D_WIN64 -I C:/qt-everywhere-src-6.4.0/qtbase/src/plugins/sqldrivers/mysql/QMYSQLDriverPlugin_autogen/include -I C:/qt-everywhere-src-6.4.0/qtbase/src/plugins/sqldrivers/mysql -I C:/qt-everywhere-src-6.4.0/qtbase/include -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore -I C:/qt-everywhere-src-6.4.0/qtbase/mkspecs/win32-g++ -I C:/qt-everywhere-src-6.4.0/qtbase/src/corelib -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/6.4.0 -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/6.4.0/QtCore -I C:/qt-everywhere-src-6.4.0/qtbase/src/sql -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtSql/6.4.0 -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtSql/6.4.0/QtSql -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtSql -I "C:/Program Files/MySQL/MySQL Server 8.0/include" C:/qt-everywhere-src-6.4.0/qtbase/src/plugins/sqldrivers/mysql/QMYSQLDriverPlugin_resource.rc qtbase/src/plugins/sqldrivers/mysql/CMakeFiles/QMYSQLDriverPlugin.dir/QMYSQLDriverPlugin_resource.rc.obj
cc1.exe: fatal error: Files/MySQL/MySQL: No such file or directory
compilation terminated.
cc1.exe: fatal error: Server: No such file or directory
compilation terminated.
cc1.exe: fatal error: 8.0/include: No such file or directory
compilation terminated.
C:\Qt\Tools\mingw1120_64\bin\windres.exe: preprocessing failed.
[2449/10648] Building CXX object qtbase/src/testlib/CMakeFiles/Test.dir/cmake_pch.hxx.gch
ninja: build stopped: subcommand failed.============================================
Can I somehow discard the MySQL from the build. I don't strictly need that for my Qt related purposes. Or can I place Mysql include files somewhere else, or somehow correct the way cmake and windres handle that path. It is enclosed in double quotes in the call:
windres.exe -O coff -DMINGW_HA (...) de/QtSql -I "C:/Program Files/MySQL/MySQL Server 8.0/include" C:/qt-everywhere-src-6.4.0/build/qtbase/src/plugins/sqldrivers/mysql/QMYSQLDriverPlugin_resource.rc qtbase/src/plugins/sqldrivers/mysql/CMakeFiles/QMYSQLDriverPlugin.dir/QMYSQLDriverPlugin_resource.rc.obj
Any help is greatly appreciated. Still having issues but many "redeclared without dllimport" errors are now gone, apparently thanks to switching the compiler version. So happy for that.
Many thanks. Any help with that path related problem would be greatly appreciated.
Regards,
Carlos.You must not have spaces in the include paths - properly quoting them is problematic so move the mysql folder into a folder without spaces.
-
@Christian-Ehrlicher
Hi Christian,thanks for your reply. I have made some progress. But not solved it yet.
Since you pointed to a specific compiler version, what I did was to download and install Qt with the online installer and let it install the tools coming with it. This effectively installed the compilers officially recommended to build Qt, as you see in the short output snippet posted below.
If I try to make the build through Ninja, I get the following first lines:
C:\qt-everywhere-src-6.4.0\build>cmake -G Ninja ..
-- The CXX compiler identification is GNU 11.2.0
-- The C compiler identification is GNU 11.2.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/Qt/Tools/mingw1120_64/bin/gcc.exe
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Qt/Tools/mingw1120_64/bin/g++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Qt/Tools/mingw1120_64/bin/gcc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - doneAs you can see I have used the tools recommended by Qt.
Now if I run :
cmake --build .
I get the following error, which seems to be related with blank spaces present in my MySQL installation path upon calling windres.exe
==========================================
[2432/10648] Building RC object qtbase/src/plugins/sqldrivers/mysql/CMakeFiles/QMYSQLDriverPlugin.dir/QMYSQLDriverPlugin_resource.rc.obj
FAILED: qtbase/src/plugins/sqldrivers/mysql/CMakeFiles/QMYSQLDriverPlugin.dir/QMYSQLDriverPlugin_resource.rc.obj
C:\Qt\Tools\mingw1120_64\bin\windres.exe -O coff -DMINGW_HAS_SECURE_API=1 -DQMYSQLDriverPlugin_EXPORTS -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DEPRECATED_WARNINGS_SINCE=0x070000 -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_LEAN_HEADERS=1 -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_EXCEPTIONS -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_PLUGIN -DQT_SQL_LIB -DUNICODE -DWIN32 -DWIN64 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_UNICODE -D_WIN64 -I C:/qt-everywhere-src-6.4.0/qtbase/src/plugins/sqldrivers/mysql/QMYSQLDriverPlugin_autogen/include -I C:/qt-everywhere-src-6.4.0/qtbase/src/plugins/sqldrivers/mysql -I C:/qt-everywhere-src-6.4.0/qtbase/include -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore -I C:/qt-everywhere-src-6.4.0/qtbase/mkspecs/win32-g++ -I C:/qt-everywhere-src-6.4.0/qtbase/src/corelib -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/6.4.0 -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/6.4.0/QtCore -I C:/qt-everywhere-src-6.4.0/qtbase/src/sql -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtSql/6.4.0 -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtSql/6.4.0/QtSql -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtSql -I "C:/Program Files/MySQL/MySQL Server 8.0/include" C:/qt-everywhere-src-6.4.0/qtbase/src/plugins/sqldrivers/mysql/QMYSQLDriverPlugin_resource.rc qtbase/src/plugins/sqldrivers/mysql/CMakeFiles/QMYSQLDriverPlugin.dir/QMYSQLDriverPlugin_resource.rc.obj
cc1.exe: fatal error: Files/MySQL/MySQL: No such file or directory
compilation terminated.
cc1.exe: fatal error: Server: No such file or directory
compilation terminated.
cc1.exe: fatal error: 8.0/include: No such file or directory
compilation terminated.
C:\Qt\Tools\mingw1120_64\bin\windres.exe: preprocessing failed.
[2449/10648] Building CXX object qtbase/src/testlib/CMakeFiles/Test.dir/cmake_pch.hxx.gch
ninja: build stopped: subcommand failed.============================================
Can I somehow discard the MySQL from the build. I don't strictly need that for my Qt related purposes. Or can I place Mysql include files somewhere else, or somehow correct the way cmake and windres handle that path. It is enclosed in double quotes in the call:
windres.exe -O coff -DMINGW_HA (...) de/QtSql -I "C:/Program Files/MySQL/MySQL Server 8.0/include" C:/qt-everywhere-src-6.4.0/build/qtbase/src/plugins/sqldrivers/mysql/QMYSQLDriverPlugin_resource.rc qtbase/src/plugins/sqldrivers/mysql/CMakeFiles/QMYSQLDriverPlugin.dir/QMYSQLDriverPlugin_resource.rc.obj
Any help is greatly appreciated. Still having issues but many "redeclared without dllimport" errors are now gone, apparently thanks to switching the compiler version. So happy for that.
Many thanks. Any help with that path related problem would be greatly appreciated.
Regards,
Carlos.@CarlosCz25
Hi again Christian,almost done. However still having some issues preventing from completion. Only missing 4 object builds out of 10500!!!!
Here's my message right now:
=============================================
C:\qt-everywhere-src-6.4.0>cmake --build .
[1/4] Building RC object qtquick3d/src/plugins/assetimporters/assimp/CMakeFiles/AssimpImporterPlugin.dir/AssimpImporterPlugin_resource.rc.obj
FAILED: qtquick3d/src/plugins/assetimporters/assimp/CMakeFiles/AssimpImporterPlugin.dir/AssimpImporterPlugin_resource.rc.obj
C:\Qt\Tools\mingw1120_64\bin\windres.exe -O coff -DASSIMP_BUILD_BOOST_WORKAROUND -DASSIMP_BUILD_NO_3DS_IMPORTER -DASSIMP_BUILD_NO_3D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DASSIMP_BUILD_NO_AC_IMPORTER -DASSIMP_BUILD_NO_AMF_IMPORTER -DASSIMP_BUILD_NO_ASE_IMPORTER -DASSIMP_BUILD_NO_ASSBIN_IMPORTER -DASSIMP_BUILD_NO_B3D_IMPORTER -DASSIMP_BUILD_NO_BLEND_IMPORTER -DASSIMP_BUILD_NO_BVH_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_COB_IMPORTER -DASSIMP_BUILD_NO_COMPRESSED_IFC -DASSIMP_BUILD_NO_CSM_IMPORTER -DASSIMP_BUILD_NO_DXF_IMPORTER -DASSIMP_BUILD_NO_EXPORT -DASSIMP_BUILD_NO_HMP_IMPORTER -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IQM_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_LIMITBONEWEIGHTS_PROCESS -DASSIMP_BUILD_NO_LWO_IMPORTER -DASSIMP_BUILD_NO_LWS_IMPORTER -DASSIMP_BUILD_NO_M3D_IMPORTER -DASSIMP_BUILD_NO_MD2_IMPORTER -DASSIMP_BUILD_NO_MD3_IMPORTER -DASSIMP_BUILD_NO_MD5_IMPORTER -DASSIMP_BUILD_NO_MDC_IMPORTER -DASSIMP_BUILD_NO_MDL_IMPORTER -DASSIMP_BUILD_NO_MMD_IMPORTER -DASSIMP_BUILD_NO_MS3D_IMPORTER -DASSIMP_BUILD_NO_NDO_IMPORTER -DASSIMP_BUILD_NO_NFF_IMPORTER -DASSIMP_BUILD_NO_OFF_IMPORTER -DASSIMP_BUILD_NO_OGRE_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER -DASSIMP_BUILD_NO_OWN_ZLIB -DASSIMP_BUILD_NO_PLY_IMPORTER -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_Q3D_IMPORTER -DASSIMP_BUILD_NO_RAW_IMPORTER -DASSIMP_BUILD_NO_SIB_IMPORTER -DASSIMP_BUILD_NO_SMD_IMPORTER -DASSIMP_BUILD_NO_STEP_IMPORTER -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER -DASSIMP_BUILD_NO_X3D_IMPORTER -DASSIMP_BUILD_NO_XGL_IMPORTER -DASSIMP_BUILD_NO_X_IMPORTER -DAssimpImporterPlugin_EXPORTS -DMINGW_HAS_SECURE_API=1 -DNOUNCRYPT -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DEPRECATED_WARNINGS_SINCE=0x070000 -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_OPENGL_LIB -DQT_PLUGIN -DQT_QMLINTEGRATION_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICK3DASSETIMPORT_LIB -DQT_QUICK3DASSETUTILS_LIB -DQT_QUICK3DRUNTIMERENDER_LIB -DQT_QUICK3DUTILS_LIB -DQT_QUICK3D_LIB -DQT_QUICKTIMELINE_LIB -DQT_QUICK_LIB -DQT_SHADERTOOLS_LIB -DQT_ZLIB_LIB -DRAPIDJSON_HAS_STDSTRING=1 -DRAPIDJSON_NOMEMBERITERATORCLASS -DUNICODE -DWIN32 -DWIN64 -DWindowsStore -D_CRT_SECURE_NO_WARNINGS -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_UNICODE -D_WIN64 -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/AssimpImporterPlugin_autogen/include -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp -I C:/qt-everywhere-src-6.4.0/qtbase/include -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/.. -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/contrib/unzip -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/code -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/code/CApi -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/code/AssetLib/Collada -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/code/Common -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/code/AssetLib/FBX -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/code/Material -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/code/AssetLib/Obj -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/code/PostProcessing -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/code/AssetLib/STL -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/code/AssetLib/glTF -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/code/AssetLib/glTF2 -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/contrib/poly2tri -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/contrib/pugixml/src -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/contrib/pugixml/contrib -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/contrib/rapidjson/include -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/contrib/utf8cpp/source -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/include -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/src/include/assimp/Compiler -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/../../../3rdparty/assimp/unzip -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore -I C:/qt-everywhere-src-6.4.0/qtbase/mkspecs/win32-g++ -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtGui -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/assetimport -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQuick3DAssetImport/6.4.0 -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQuick3DAssetImport/6.4.0/QtQuick3DAssetImport -I C:/qt-everywhere-src-6.4.0/qtbase/src/corelib -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/6.4.0 -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtCore/6.4.0/QtCore -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/utils -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQuick3DUtils/6.4.0 -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQuick3DUtils/6.4.0/QtQuick3DUtils -I C:/qt-everywhere-src-6.4.0/qtbase/src/gui -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtGui/6.4.0 -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtGui/6.4.0/QtGui -I C:/qt-everywhere-src-6.4.0/qtdeclarative/src/quick -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQuick/6.4.0 -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQuick/6.4.0/QtQuick -I C:/qt-everywhere-src-6.4.0/qtdeclarative/src/qmlmodels -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQmlModels/6.4.0 -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQmlModels/6.4.0/QtQmlModels -I C:/qt-everywhere-src-6.4.0/qtdeclarative/src/qml -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQml/6.4.0 -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQml/6.4.0/QtQml -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQml -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQmlIntegration -I C:/qt-everywhere-src-6.4.0/qtdeclarative/src/qmlintegration -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtNetwork -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQmlModels -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQuick -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtOpenGL -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQuick3DUtils -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQuick3DAssetImport -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/assetutils -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQuick3DAssetUtils/6.4.0 -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQuick3DAssetUtils/6.4.0/QtQuick3DAssetUtils -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/runtimerender -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQuick3DRuntimeRender/6.4.0 -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQuick3DRuntimeRender/6.4.0/QtQuick3DRuntimeRender -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQuick3DRuntimeRender -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtShaderTools -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtConcurrent -I C:/qt-everywhere-src-6.4.0/qtshadertools/src/shadertools -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtShaderTools/6.4.0 -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtShaderTools/6.4.0/QtShaderTools -I C:/qt-everywhere-src-6.4.0/qtquick3d/src/quick3d -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQuick3D/6.4.0 -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQuick3D/6.4.0/QtQuick3D -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQuick3D -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQuick3DAssetUtils -I C:/qt-everywhere-src-6.4.0/qtquicktimeline/src/timeline -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQuickTimeline/6.4.0 -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQuickTimeline/6.4.0/QtQuickTimeline -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtQuickTimeline -I C:/qt-everywhere-src-6.4.0/qtbase/include/QtZlib -I C:/qt-everywhere-src-6.4.0/qtbase/src/3rdparty/zlib C:/qt-everywhere-src-6.4.0/qtquick3d/src/plugins/assetimporters/assimp/AssimpImporterPlugin_resource.rc qtquick3d/src/plugins/assetimporters/assimp/CMakeFiles/AssimpImporterPlugin.dir/AssimpImporterPlugin_resource.rc.obj
The command line is too long.
C:\Qt\Tools\mingw1120_64\bin\windres.exe: preprocessing failed.
[2/4] Check QtPdf support
QtPdf will not be built: node.js version 12 or later is required.
[3/4] Check QtWebEngine support
QtWebEngine will not be built: node.js version 12 or later is required.
ninja: build stopped: subcommand failed.================================================
I seem to have found an entry in
https://bugreports.qt.io/browse/QTBUG-96339
that explains a very similar or the same problem.
Any ideas?
By the way I seem to have been able to bypass the blank spaces problem regarding windows "Program Files" path problem by escaping (\) blank spaces for those paths contained in a file called ParseCache.txt located in :
$QTSOURCESROOT\qtbase\src\plugins\sqldrivers\mysql\CMakeFiles\QMYSQLDriverPlugin_autogen.dir
That file looks as if it was generated dynamically after first configuration step.
Just in case it may help anyone.
Regards,
and many thanks for your prompt and quick help.Carlos.