How to compile QMYSQL plugin with MSVC?
-
@BushyAxis793 qt-cmake is not a typo in the doc, it is a wrapper that executes cmake configured for the Qt build you are about to use.
-
Indeed my mistake. I made corrections. But I still have a problem:
C:\Users\mnawr>cd C:\mysql-8.0.28-winx64\build-sqldrivers C:\mysql-8.0.28-winx64\build-sqldrivers>qt-cmake -G Ninja C:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=C:\Qt\Tools\CMake_64\bin -DMySQL_ROOT="C:\mysql-8.0.28-winx64\mysql-8.0.28-winx64" -- Configuring done (1.0s) -- Generating done (0.3s) -- Build files have been written to: C:/Qt/6.3.0/Src/qtbase/src/plugins/sqldrivers C:\mysql-8.0.28-winx64\build-sqldrivers>
As you can see I use qt-cmake instead of cmake. But build-sqldrivers folder is still empty.
-
@BushyAxis793 said in How to compile QMYSQL plugin with MSVC?:
Build files have been written to: C:/Qt/6.3.0/Src/qtbase/src/plugins/sqldrivers
As you can see they are generated there.
Please start over with a clean source directory. -
I removed everything and start again with create build-sqldrivers and the directory C:/Qt/6.3.0/Src/qtbase/src/plugins/sqldrivers looks like:
So I went to the directory with command: cd C:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers
and wrote cmake --build . And this is the result:
[1/10] Building CXX object sqlite\CMakeFiles\QSQLiteDriverPlugin.dir\smain.cpp.obj FAILED: sqlite/CMakeFiles/QSQLiteDriverPlugin.dir/smain.cpp.obj C:\PROGRA~1\MICROS~3\2022\COMMUN~1\VC\Tools\MSVC\1443~1.348\bin\Hostx64\x64\cl.exe /nologo /TP -DQSQLiteDriverPlugin_EXPORTS -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_PLUGIN -DQT_SQL_LIB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_OMIT_COMPLETE -DSQLITE_OMIT_LOAD_EXTENSION -DUNICODE -DWIN32 -DWIN64 -D_CRT_SECURE_NO_WARNINGS -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_UNICODE -D_WIN64 -IC:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\sqlite\QSQLiteDriverPlugin_autogen\include -IC:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\sqlite -IC:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\include -IC:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\sqlite\..\..\..\3rdparty\sqlite -external:IC:\Qt\6.3.0\msvc2019_64\include\QtCore -external:IC:\Qt\6.3.0\msvc2019_64\include -external:IC:\Qt\6.3.0\msvc2019_64\mkspecs\win32-msvc -external:IC:\Qt\6.3.0\msvc2019_64\include\QtCore\6.3.0 -external:IC:\Qt\6.3.0\msvc2019_64\include\QtCore\6.3.0\QtCore -external:IC:\Qt\6.3.0\msvc2019_64\include\QtSql\6.3.0 -external:IC:\Qt\6.3.0\msvc2019_64\include\QtSql\6.3.0\QtSql -external:IC:\Qt\6.3.0\msvc2019_64\include\QtSql -external:W0 /DWIN32 /D_WINDOWS /GR /Z7 /RTC1 -std:c++17 -MDd -W0 /EHs-c- /wd4530 /wd4577 -Zc:__cplusplus -permissive- -utf-8 -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:externConstexpr -Zc:wchar_t -bigobj /showIncludes /Fosqlite\CMakeFiles\QSQLiteDriverPlugin.dir\smain.cpp.obj /Fdsqlite\CMakeFiles\QSQLiteDriverPlugin.dir\ /FS -c C:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\sqlite\smain.cpp C:\Qt\6.3.0\msvc2019_64\include\QtCore/qglobal.h(45): fatal error C1083: Nie można otworzyć pliku dołącz: 'type_traits': No such file or directory [2/10] Building CXX object odbc\CMakeFiles\QODBCDriverPlugin.dir\qsql_odbc.cpp.obj FAILED: odbc/CMakeFiles/QODBCDriverPlugin.dir/qsql_odbc.cpp.obj C:\PROGRA~1\MICROS~3\2022\COMMUN~1\VC\Tools\MSVC\1443~1.348\bin\Hostx64\x64\cl.exe /nologo /TP -DQODBCDriverPlugin_EXPORTS -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_PLUGIN -DQT_SQL_LIB -DUNICODE -DWIN32 -DWIN64 -D_CRT_SECURE_NO_WARNINGS -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_UNICODE -D_WIN64 -IC:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\odbc\QODBCDriverPlugin_autogen\include -IC:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\odbc -IC:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\include -external:I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\um" -external:IC:\Qt\6.3.0\msvc2019_64\include\QtCore -external:IC:\Qt\6.3.0\msvc2019_64\include -external:IC:\Qt\6.3.0\msvc2019_64\mkspecs\win32-msvc -external:IC:\Qt\6.3.0\msvc2019_64\include\QtCore\6.3.0 -external:IC:\Qt\6.3.0\msvc2019_64\include\QtCore\6.3.0\QtCore -external:IC:\Qt\6.3.0\msvc2019_64\include\QtSql\6.3.0 -external:IC:\Qt\6.3.0\msvc2019_64\include\QtSql\6.3.0\QtSql -external:IC:\Qt\6.3.0\msvc2019_64\include\QtSql -external:W0 /DWIN32 /D_WINDOWS /GR /Z7 /RTC1 -std:c++17 -MDd /W3 /EHs-c- /wd4530 /wd4577 -Zc:__cplusplus -permissive- -utf-8 -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:externConstexpr -Zc:wchar_t -bigobj /showIncludes /Foodbc\CMakeFiles\QODBCDriverPlugin.dir\qsql_odbc.cpp.obj /Fdodbc\CMakeFiles\QODBCDriverPlugin.dir\ /FS -c C:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\odbc\qsql_odbc.cpp C:\Qt\6.3.0\msvc2019_64\include\QtCore/qglobal.h(45): fatal error C1083: Nie można otworzyć pliku dołącz: 'type_traits': No such file or directory [3/10] Building CXX object sqlite\CMakeFiles\QSQLiteDriver...n.dir\QSQLiteDriverPlugin_autogen\mocs_compilation.cpp.obj FAILED: sqlite/CMakeFiles/QSQLiteDriverPlugin.dir/QSQLiteDriverPlugin_autogen/mocs_compilation.cpp.obj C:\PROGRA~1\MICROS~3\2022\COMMUN~1\VC\Tools\MSVC\1443~1.348\bin\Hostx64\x64\cl.exe /nologo /TP -DQSQLiteDriverPlugin_EXPORTS -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_PLUGIN -DQT_SQL_LIB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_OMIT_COMPLETE -DSQLITE_OMIT_LOAD_EXTENSION -DUNICODE -DWIN32 -DWIN64 -D_CRT_SECURE_NO_WARNINGS -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_UNICODE -D_WIN64 -IC:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\sqlite\QSQLiteDriverPlugin_autogen\include -IC:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\sqlite -IC:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\include -IC:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\sqlite\..\..\..\3rdparty\sqlite -external:IC:\Qt\6.3.0\msvc2019_64\include\QtCore -external:IC:\Qt\6.3.0\msvc2019_64\include -external:IC:\Qt\6.3.0\msvc2019_64\mkspecs\win32-msvc -external:IC:\Qt\6.3.0\msvc2019_64\include\QtCore\6.3.0 -external:IC:\Qt\6.3.0\msvc2019_64\include\QtCore\6.3.0\QtCore -external:IC:\Qt\6.3.0\msvc2019_64\include\QtSql\6.3.0 -external:IC:\Qt\6.3.0\msvc2019_64\include\QtSql\6.3.0\QtSql -external:IC:\Qt\6.3.0\msvc2019_64\include\QtSql -external:W0 /DWIN32 /D_WINDOWS /GR /Z7 /RTC1 -std:c++17 -MDd -W0 /EHs-c- /wd4530 /wd4577 -Zc:__cplusplus -permissive- -utf-8 -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:externConstexpr -Zc:wchar_t -bigobj /showIncludes /Fosqlite\CMakeFiles\QSQLiteDriverPlugin.dir\QSQLiteDriverPlugin_autogen\mocs_compilation.cpp.obj /Fdsqlite\CMakeFiles\QSQLiteDriverPlugin.dir\ /FS -c C:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\sqlite\QSQLiteDriverPlugin_autogen\mocs_compilation.cpp C:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\sqlite\QSQLiteDriverPlugin_autogen\EWIEGA46WW/moc_qsql_sqlite_p.cpp(9): fatal error C1083: Nie można otworzyć pliku dołącz: 'memory': No such file or directory [4/10] Building RC object sqlite\CMakeFiles\QSQLiteDriverPlugin.dir\QSQLiteDriverPlugin_resource.rc.res FAILED: sqlite/CMakeFiles/QSQLiteDriverPlugin.dir/QSQLiteDriverPlugin_resource.rc.res C:/Qt/Tools/CMake_64/bin/cmcldeps.exe RC C:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\sqlite\QSQLiteDriverPlugin_resource.rc sqlite\CMakeFiles\QSQLiteDriverPlugin.dir\QSQLiteDriverPlugin_resource.rc.res.d sqlite\CMakeFiles\QSQLiteDriverPlugin.dir\QSQLiteDriverPlugin_resource.rc.res "Uwaga: w tym pliku: " "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.43.34808/bin/Hostx64/x64/cl.exe" C:\PROGRA~2\WI3CF2~1\10\bin\100226~1.0\x64\rc.exe -DQSQLiteDriverPlugin_EXPORTS -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_PLUGIN -DQT_SQL_LIB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_OMIT_COMPLETE -DSQLITE_OMIT_LOAD_EXTENSION -DUNICODE -DWIN32 -DWIN64 -D_CRT_SECURE_NO_WARNINGS -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_UNICODE -D_WIN64 -I C:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\sqlite\QSQLiteDriverPlugin_autogen\include -I C:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\sqlite -I C:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\include -I C:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\sqlite\..\..\..\3rdparty\sqlite -I C:\Qt\6.3.0\msvc2019_64\include\QtCore -I C:\Qt\6.3.0\msvc2019_64\include -I C:\Qt\6.3.0\msvc2019_64\mkspecs\win32-msvc -I C:\Qt\6.3.0\msvc2019_64\include\QtCore\6.3.0 -I C:\Qt\6.3.0\msvc2019_64\include\QtCore\6.3.0\QtCore -I C:\Qt\6.3.0\msvc2019_64\include\QtSql\6.3.0 -I C:\Qt\6.3.0\msvc2019_64\include\QtSql\6.3.0\QtSql -I C:\Qt\6.3.0\msvc2019_64\include\QtSql -DWIN32 -D_DEBUG /nologo /fo sqlite\CMakeFiles\QSQLiteDriverPlugin.dir\QSQLiteDriverPlugin_resource.rc.res C:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\sqlite\QSQLiteDriverPlugin_resource.rc C:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\sqlite\QSQLiteDriverPlugin_resource.rc(1): fatal error C1083: Nie moÔöÉna otworzy┼á pliku doÔöéÔĽúcz: 'windows.h': No such file or directory [5/10] Building CXX object odbc\CMakeFiles\QODBCDriverPlugin.dir\main.cpp.obj FAILED: odbc/CMakeFiles/QODBCDriverPlugin.dir/main.cpp.obj C:\PROGRA~1\MICROS~3\2022\COMMUN~1\VC\Tools\MSVC\1443~1.348\bin\Hostx64\x64\cl.exe /nologo /TP -DQODBCDriverPlugin_EXPORTS -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_PLUGIN -DQT_SQL_LIB -DUNICODE -DWIN32 -DWIN64 -D_CRT_SECURE_NO_WARNINGS -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_UNICODE -D_WIN64 -IC:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\odbc\QODBCDriverPlugin_autogen\include -IC:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\odbc -IC:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\include -external:I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\um" -external:IC:\Qt\6.3.0\msvc2019_64\include\QtCore -external:IC:\Qt\6.3.0\msvc2019_64\include -external:IC:\Qt\6.3.0\msvc2019_64\mkspecs\win32-msvc -external:IC:\Qt\6.3.0\msvc2019_64\include\QtCore\6.3.0 -external:IC:\Qt\6.3.0\msvc2019_64\include\QtCore\6.3.0\QtCore -external:IC:\Qt\6.3.0\msvc2019_64\include\QtSql\6.3.0 -external:IC:\Qt\6.3.0\msvc2019_64\include\QtSql\6.3.0\QtSql -external:IC:\Qt\6.3.0\msvc2019_64\include\QtSql -external:W0 /DWIN32 /D_WINDOWS /GR /Z7 /RTC1 -std:c++17 -MDd /W3 /EHs-c- /wd4530 /wd4577 -Zc:__cplusplus -permissive- -utf-8 -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:externConstexpr -Zc:wchar_t -bigobj /showIncludes /Foodbc\CMakeFiles\QODBCDriverPlugin.dir\main.cpp.obj /Fdodbc\CMakeFiles\QODBCDriverPlugin.dir\ /FS -c C:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\odbc\main.cpp C:\Qt\6.3.0\msvc2019_64\include\QtCore/qglobal.h(45): fatal error C1083: Nie można otworzyć pliku dołącz: 'type_traits': No such file or directory [6/10] Building C object sqlite\CMakeFiles\QSQLiteDriverPl...r\C_\Qt\6.3.0\Src\qtbase\src\3rdparty\sqlite\sqlite3.c.obj FAILED: sqlite/CMakeFiles/QSQLiteDriverPlugin.dir/C_/Qt/6.3.0/Src/qtbase/src/3rdparty/sqlite/sqlite3.c.obj C:\PROGRA~1\MICROS~3\2022\COMMUN~1\VC\Tools\MSVC\1443~1.348\bin\Hostx64\x64\cl.exe /nologo -DQSQLiteDriverPlugin_EXPORTS -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_PLUGIN -DQT_SQL_LIB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_OMIT_COMPLETE -DSQLITE_OMIT_LOAD_EXTENSION -DUNICODE -DWIN32 -DWIN64 -D_CRT_SECURE_NO_WARNINGS -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_UNICODE -D_WIN64 -IC:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\sqlite\QSQLiteDriverPlugin_autogen\include -IC:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\sqlite -IC:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\include -IC:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\sqlite\..\..\..\3rdparty\sqlite -external:IC:\Qt\6.3.0\msvc2019_64\include\QtCore -external:IC:\Qt\6.3.0\msvc2019_64\include -external:IC:\Qt\6.3.0\msvc2019_64\mkspecs\win32-msvc -external:IC:\Qt\6.3.0\msvc2019_64\include\QtCore\6.3.0 -external:IC:\Qt\6.3.0\msvc2019_64\include\QtCore\6.3.0\QtCore -external:IC:\Qt\6.3.0\msvc2019_64\include\QtSql\6.3.0 -external:IC:\Qt\6.3.0\msvc2019_64\include\QtSql\6.3.0\QtSql -external:IC:\Qt\6.3.0\msvc2019_64\include\QtSql -external:W0 /DWIN32 /D_WINDOWS /Z7 /RTC1 -std:c11 -MDd -W0 /EHs-c- /wd4530 /wd4577 -utf-8 -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:externConstexpr -Zc:wchar_t -bigobj /showIncludes /Fosqlite\CMakeFiles\QSQLiteDriverPlugin.dir\C_\Qt\6.3.0\Src\qtbase\src\3rdparty\sqlite\sqlite3.c.obj /Fdsqlite\CMakeFiles\QSQLiteDriverPlugin.dir\ /FS -c C:\Qt\6.3.0\Src\qtbase\src\3rdparty\sqlite\sqlite3.c C:\Qt\6.3.0\Src\qtbase\src\3rdparty\sqlite\sqlite3.c(341): fatal error C1083: Nie można otworzyć pliku dołącz: 'stdarg.h': No such file or directory [7/10] Building CXX object sqlite\CMakeFiles\QSQLiteDriverPlugin.dir\qsql_sqlite.cpp.obj FAILED: sqlite/CMakeFiles/QSQLiteDriverPlugin.dir/qsql_sqlite.cpp.obj C:\PROGRA~1\MICROS~3\2022\COMMUN~1\VC\Tools\MSVC\1443~1.348\bin\Hostx64\x64\cl.exe /nologo /TP -DQSQLiteDriverPlugin_EXPORTS -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_PLUGIN -DQT_SQL_LIB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_OMIT_COMPLETE -DSQLITE_OMIT_LOAD_EXTENSION -DUNICODE -DWIN32 -DWIN64 -D_CRT_SECURE_NO_WARNINGS -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_UNICODE -D_WIN64 -IC:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\sqlite\QSQLiteDriverPlugin_autogen\include -IC:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\sqlite -IC:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\include -IC:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\sqlite\..\..\..\3rdparty\sqlite -external:IC:\Qt\6.3.0\msvc2019_64\include\QtCore -external:IC:\Qt\6.3.0\msvc2019_64\include -external:IC:\Qt\6.3.0\msvc2019_64\mkspecs\win32-msvc -external:IC:\Qt\6.3.0\msvc2019_64\include\QtCore\6.3.0 -external:IC:\Qt\6.3.0\msvc2019_64\include\QtCore\6.3.0\QtCore -external:IC:\Qt\6.3.0\msvc2019_64\include\QtSql\6.3.0 -external:IC:\Qt\6.3.0\msvc2019_64\include\QtSql\6.3.0\QtSql -external:IC:\Qt\6.3.0\msvc2019_64\include\QtSql -external:W0 /DWIN32 /D_WINDOWS /GR /Z7 /RTC1 -std:c++17 -MDd -W0 /EHs-c- /wd4530 /wd4577 -Zc:__cplusplus -permissive- -utf-8 -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:externConstexpr -Zc:wchar_t -bigobj /showIncludes /Fosqlite\CMakeFiles\QSQLiteDriverPlugin.dir\qsql_sqlite.cpp.obj /Fdsqlite\CMakeFiles\QSQLiteDriverPlugin.dir\ /FS -c C:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\sqlite\qsql_sqlite.cpp C:\Qt\6.3.0\msvc2019_64\include\QtCore/qglobal.h(45): fatal error C1083: Nie można otworzyć pliku dołącz: 'type_traits': No such file or directory [8/10] Building RC object odbc\CMakeFiles\QODBCDriverPlugin.dir\QODBCDriverPlugin_resource.rc.res FAILED: odbc/CMakeFiles/QODBCDriverPlugin.dir/QODBCDriverPlugin_resource.rc.res C:/Qt/Tools/CMake_64/bin/cmcldeps.exe RC C:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\odbc\QODBCDriverPlugin_resource.rc odbc\CMakeFiles\QODBCDriverPlugin.dir\QODBCDriverPlugin_resource.rc.res.d odbc\CMakeFiles\QODBCDriverPlugin.dir\QODBCDriverPlugin_resource.rc.res "Uwaga: w tym pliku: " "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.43.34808/bin/Hostx64/x64/cl.exe" C:\PROGRA~2\WI3CF2~1\10\bin\100226~1.0\x64\rc.exe -DQODBCDriverPlugin_EXPORTS -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_PLUGIN -DQT_SQL_LIB -DUNICODE -DWIN32 -DWIN64 -D_CRT_SECURE_NO_WARNINGS -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_UNICODE -D_WIN64 -I C:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\odbc\QODBCDriverPlugin_autogen\include -I C:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\odbc -I C:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\include -I "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\um" -I C:\Qt\6.3.0\msvc2019_64\include\QtCore -I C:\Qt\6.3.0\msvc2019_64\include -I C:\Qt\6.3.0\msvc2019_64\mkspecs\win32-msvc -I C:\Qt\6.3.0\msvc2019_64\include\QtCore\6.3.0 -I C:\Qt\6.3.0\msvc2019_64\include\QtCore\6.3.0\QtCore -I C:\Qt\6.3.0\msvc2019_64\include\QtSql\6.3.0 -I C:\Qt\6.3.0\msvc2019_64\include\QtSql\6.3.0\QtSql -I C:\Qt\6.3.0\msvc2019_64\include\QtSql -DWIN32 -D_DEBUG /nologo /fo odbc\CMakeFiles\QODBCDriverPlugin.dir\QODBCDriverPlugin_resource.rc.res C:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers\odbc\QODBCDriverPlugin_resource.rc C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\um\windows.h(1): fatal error C1083: Nie moÔöÉna otworzy┼á pliku doÔöéÔĽúcz: 'winapifamily.h': No such file or directory ninja: build stopped: subcommand failed.
-
You did not open the correct visual studio command prompt so the vc env variables are not properly set up.
-
OK. So I used Visual Studio Developer Command Prompt and got different errors. I tried also PowerShell but no result. Should I install any special version for MSVC?
-
@BushyAxis793 said in How to compile QMYSQL plugin with MSVC?:
Should I install any special version for MSVC?
Why?
Start with a clean build dir from a properly set up environment and if you encounter errors, post them here. -
OK. I understand. Let me show you step by step what I do:
- Clear everything
- Open Visual Studio Developer Command Prompt
- I go to C:\mysql-8.0.28-winx64\
- I create build-sqldrivers directory
- I go to build-sqldrivers directory
- I input command:
qt-cmake -G Ninja C:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=C:\Qt\Tools\CMake_64\bin -DMySQL_ROOT="C:\mysql-8.0.28-winx64\mysql-8.0.28-winx64"
And I got error
-
Hostx86/x86/
You opened the wrong visual studio command prompt. Qt is built with 64bits...
-
OK. So I run again Visual Studio Command Prompt and check configuration with:
C:\Users\mnawr\source\repos\Project2>echo %VSCMD_ARG_TGT_ARCH% x86
Then I change to x64 with:
set VSCMD_ARG_TGT_ARCH=x64
And check again:
C:\Users\mnawr\source\repos\Project2>echo %VSCMD_ARG_TGT_ARCH% x64
And again create build-sqldrivers directory, run qt-cmake.. and got the error again:
-
Please open the correct visual studio command prompt for 64 bits... is it really that hard?
-
OK. I used x64 Native Tools Command Prompt for VS 2022 and my result is:
********************************************************************** ** Visual Studio 2022 Developer Command Prompt v17.13.5 ** Copyright (c) 2022 Microsoft Corporation ********************************************************************** [vcvarsall.bat] Environment initialized for: 'x64' C:\Program Files\Microsoft Visual Studio\2022\Community>cd C:\mysql-8.0.28-winx64 C:\mysql-8.0.28-winx64>mkdir build-sqldrivers C:\mysql-8.0.28-winx64>cd build-sqldrivers C:\mysql-8.0.28-winx64\build-sqldrivers>qt-cmake -G Ninja C:\Qt\6.3.0\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=C:\Qt\Tools\CMake_64\bin -DMySQL_ROOT="C:\mysql-8.0.28-winx64\mysql-8.0.28-winx64" -- The CXX compiler identification is MSVC 19.43.34809.0 -- The C compiler identification is MSVC 19.43.34809.0 -- The ASM compiler identification is MSVC -- Found assembler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.43.34808/bin/Hostx64/x64/cl.exe -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.43.34808/bin/Hostx64/x64/cl.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:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.43.34808/bin/Hostx64/x64/cl.exe - skipped -- Detecting C compile features -- Detecting C compile features - done -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - not found -- Found Threads: TRUE -- Performing Test HAVE_STDATOMIC -- Performing Test HAVE_STDATOMIC - Success -- Found WrapAtomic: TRUE -- Configuring done (9.9s) -- Generating done (0.6s) -- Build files have been written to: C:/mysql-8.0.28-winx64/build-sqldrivers C:\mysql-8.0.28-winx64\build-sqldrivers>cmake --build . [22/22] Linking CXX shared module plugins\sqldrivers\qsqlmysqld.dll C:\mysql-8.0.28-winx64\build-sqldrivers>cmake --install . -- Install configuration: "Debug" -- Installing: C:/Qt/Tools/CMake_64/bin/lib/cmake/Qt6Sql/Qt6QMYSQLDriverPluginConfig.cmake -- Installing: C:/Qt/Tools/CMake_64/bin/lib/cmake/Qt6Sql/Qt6QMYSQLDriverPluginConfigVersion.cmake -- Installing: C:/Qt/Tools/CMake_64/bin/lib/cmake/Qt6Sql/Qt6QMYSQLDriverPluginConfigVersionImpl.cmake -- Installing: C:/Qt/Tools/CMake_64/bin/./plugins/sqldrivers/qsqlmysqld.dll -- Installing: C:/Qt/Tools/CMake_64/bin/lib/cmake/Qt6Sql/Qt6QMYSQLDriverPluginTargets.cmake -- Installing: C:/Qt/Tools/CMake_64/bin/lib/cmake/Qt6Sql/Qt6QMYSQLDriverPluginTargets-debug.cmake -- Installing: C:/Qt/Tools/CMake_64/bin/./plugins/sqldrivers/qsqlmysqld.pdb -- Installing: C:/Qt/Tools/CMake_64/bin/lib/cmake/Qt6Sql/Qt6QMYSQLDriverPluginAdditionalTargetInfo.cmake -- Installing: C:/Qt/Tools/CMake_64/bin/lib/cmake/Qt6Sql/Qt6QODBCDriverPluginConfig.cmake -- Installing: C:/Qt/Tools/CMake_64/bin/lib/cmake/Qt6Sql/Qt6QODBCDriverPluginConfigVersion.cmake -- Installing: C:/Qt/Tools/CMake_64/bin/lib/cmake/Qt6Sql/Qt6QODBCDriverPluginConfigVersionImpl.cmake -- Installing: C:/Qt/Tools/CMake_64/bin/./plugins/sqldrivers/qsqlodbcd.dll -- Installing: C:/Qt/Tools/CMake_64/bin/lib/cmake/Qt6Sql/Qt6QODBCDriverPluginTargets.cmake -- Installing: C:/Qt/Tools/CMake_64/bin/lib/cmake/Qt6Sql/Qt6QODBCDriverPluginTargets-debug.cmake -- Installing: C:/Qt/Tools/CMake_64/bin/./plugins/sqldrivers/qsqlodbcd.pdb -- Installing: C:/Qt/Tools/CMake_64/bin/lib/cmake/Qt6Sql/Qt6QODBCDriverPluginAdditionalTargetInfo.cmake -- Installing: C:/Qt/Tools/CMake_64/bin/lib/cmake/Qt6Sql/Qt6QSQLiteDriverPluginConfig.cmake -- Installing: C:/Qt/Tools/CMake_64/bin/lib/cmake/Qt6Sql/Qt6QSQLiteDriverPluginConfigVersion.cmake -- Installing: C:/Qt/Tools/CMake_64/bin/lib/cmake/Qt6Sql/Qt6QSQLiteDriverPluginConfigVersionImpl.cmake -- Installing: C:/Qt/Tools/CMake_64/bin/./plugins/sqldrivers/qsqlited.dll -- Installing: C:/Qt/Tools/CMake_64/bin/lib/cmake/Qt6Sql/Qt6QSQLiteDriverPluginTargets.cmake -- Installing: C:/Qt/Tools/CMake_64/bin/lib/cmake/Qt6Sql/Qt6QSQLiteDriverPluginTargets-debug.cmake -- Installing: C:/Qt/Tools/CMake_64/bin/./plugins/sqldrivers/qsqlited.pdb -- Installing: C:/Qt/Tools/CMake_64/bin/lib/cmake/Qt6Sql/Qt6QSQLiteDriverPluginAdditionalTargetInfo.cmake C:\mysql-8.0.28-winx64\build-sqldrivers>
I can't see any error but when I go to C:\mysql-8.0.28-winx64\build-sqldrivers\plugins\sqldrivers
I expected qsqlmysql.dll instead of qsqlmysqld.dll.
-
You have to build debug and release libs (msvc is picky here)
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_BUILD_TYPE=Debug
Debug was already built.
-
Thanks for reply. I run:
qt-cmake with -DCMAKE_BUILD_TYPE=Release parameter. Now my C:\mysql-8.0.28-winx64\build-sqldrivers\plugins\sqldrivers directory looks much better:I can see qsqlmysql.dll.
I added to my project. It works perfect!
Thank you very much for help and for you patience!
Have a good day :]
-