Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. How to compile QMYSQL plugin with MSVC?
Forum Updated to NodeBB v4.3 + New Features

How to compile QMYSQL plugin with MSVC?

Scheduled Pinned Locked Moved Solved General and Desktop
18 Posts 3 Posters 908 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B BushyAxis793

    @SGaist Thanks for reply!

    I followed the tutorial from the website:

    mkdir build-sqldrivers
    cd build-sqldrivers
    qt-cmake -G Ninja <qt_installation_path>\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>\<platform> -DMySQL_ROOT="C:\mysql-8.0.22-winx64"
    cmake --build .
    cmake --install .
    

    In my case, instead of qt-cmake I used cmake:

    mkdir build-sqldrivers
    cd build-sqldrivers
    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"
    cmake --build .
    cmake --install .
    

    My CMD looks like this:

    C:\mysql-8.0.28-winx64\build-sqldrivers>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>cmake --build .
    Error: could not load cache
    
    C:\mysql-8.0.28-winx64\build-sqldrivers>
    

    The build-sqldrivers folder is empty. What could be wrong?
    Have a good day

    SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #5

    @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.

    Interested in AI ? www.idiap.ch
    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

    1 Reply Last reply
    2
    • B Offline
      B Offline
      BushyAxis793
      wrote on last edited by
      #6

      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.

      Christian EhrlicherC 1 Reply Last reply
      0
      • B BushyAxis793

        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.

        Christian EhrlicherC Offline
        Christian EhrlicherC Offline
        Christian Ehrlicher
        Lifetime Qt Champion
        wrote on last edited by
        #7

        @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.

        Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
        Visit the Qt Academy at https://academy.qt.io/catalog

        1 Reply Last reply
        1
        • B Offline
          B Offline
          BushyAxis793
          wrote on last edited by
          #8

          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:

          image.png

          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.
          
          1 Reply Last reply
          0
          • Christian EhrlicherC Offline
            Christian EhrlicherC Offline
            Christian Ehrlicher
            Lifetime Qt Champion
            wrote on last edited by
            #9

            You did not open the correct visual studio command prompt so the vc env variables are not properly set up.

            Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
            Visit the Qt Academy at https://academy.qt.io/catalog

            1 Reply Last reply
            2
            • B Offline
              B Offline
              BushyAxis793
              wrote on last edited by
              #10

              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?

              Christian EhrlicherC 1 Reply Last reply
              0
              • B BushyAxis793

                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?

                Christian EhrlicherC Offline
                Christian EhrlicherC Offline
                Christian Ehrlicher
                Lifetime Qt Champion
                wrote on last edited by
                #11

                @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.

                Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                Visit the Qt Academy at https://academy.qt.io/catalog

                1 Reply Last reply
                1
                • B Offline
                  B Offline
                  BushyAxis793
                  wrote on last edited by BushyAxis793
                  #12

                  OK. I understand. Let me show you step by step what I do:

                  1. Clear everything
                  2. Open Visual Studio Developer Command Prompt
                  3. I go to C:\mysql-8.0.28-winx64\

                  9cb7c942-bd58-4375-badc-3869248544e0-image.png

                  1. I create build-sqldrivers directory

                  edb02edb-6fce-4392-8ac3-b9fc15116a7f-image.png

                  1. I go to build-sqldrivers directory

                  37c92a06-4c75-4a96-9368-6c44e4c8e545-image.png

                  1. 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

                  https://justpaste.it/f66k3

                  1 Reply Last reply
                  0
                  • Christian EhrlicherC Offline
                    Christian EhrlicherC Offline
                    Christian Ehrlicher
                    Lifetime Qt Champion
                    wrote on last edited by
                    #13

                    Hostx86/x86/

                    You opened the wrong visual studio command prompt. Qt is built with 64bits...

                    Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                    Visit the Qt Academy at https://academy.qt.io/catalog

                    1 Reply Last reply
                    1
                    • B Offline
                      B Offline
                      BushyAxis793
                      wrote on last edited by
                      #14

                      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:

                      https://justpaste.it/fvn4x

                      1 Reply Last reply
                      0
                      • Christian EhrlicherC Offline
                        Christian EhrlicherC Offline
                        Christian Ehrlicher
                        Lifetime Qt Champion
                        wrote on last edited by
                        #15

                        Please open the correct visual studio command prompt for 64 bits... is it really that hard?

                        Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                        Visit the Qt Academy at https://academy.qt.io/catalog

                        1 Reply Last reply
                        1
                        • B Offline
                          B Offline
                          BushyAxis793
                          wrote on last edited by
                          #16

                          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

                          9e661484-dcd9-421c-af17-de6d47817899-image.png

                          I expected qsqlmysql.dll instead of qsqlmysqld.dll.

                          1 Reply Last reply
                          0
                          • Christian EhrlicherC Offline
                            Christian EhrlicherC Offline
                            Christian Ehrlicher
                            Lifetime Qt Champion
                            wrote on last edited by
                            #17

                            You have to build debug and release libs (msvc is picky here)

                            -DCMAKE_BUILD_TYPE=Release

                            -DCMAKE_BUILD_TYPE=Debug

                            Debug was already built.

                            Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                            Visit the Qt Academy at https://academy.qt.io/catalog

                            1 Reply Last reply
                            2
                            • B Offline
                              B Offline
                              BushyAxis793
                              wrote on last edited by
                              #18

                              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:

                              7658df53-1a08-4851-991c-417bbe8ba871-image.png

                              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 :]

                              1 Reply Last reply
                              1
                              • B BushyAxis793 has marked this topic as solved on

                              • Login

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • Users
                              • Groups
                              • Search
                              • Get Qt Extensions
                              • Unsolved