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. Qt already updated to 5.14.1, but why it still uses MSVC 2017 build tools?
Forum Updated to NodeBB v4.3 + New Features

Qt already updated to 5.14.1, but why it still uses MSVC 2017 build tools?

Scheduled Pinned Locked Moved Unsolved General and Desktop
32 Posts 7 Posters 4.3k Views 3 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.
  • C Offline
    C Offline
    Christian Ehrlicher
    Lifetime Qt Champion
    wrote on 13 Feb 2020, 17:22 last edited by
    #23

    @BAHRAMUDIN-ADIL said in Qt already updated to 5.14.1, but why it still uses MSVC 2017 build tools?:

    I did not find in whole Qt installation directory.

    As you can see there is 'src' - you need the Qt sources...

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

    B 1 Reply Last reply 13 Feb 2020, 17:37
    1
    • C Christian Ehrlicher
      13 Feb 2020, 17:22

      @BAHRAMUDIN-ADIL said in Qt already updated to 5.14.1, but why it still uses MSVC 2017 build tools?:

      I did not find in whole Qt installation directory.

      As you can see there is 'src' - you need the Qt sources...

      B Offline
      B Offline
      BAHRAMUDIN ADIL
      wrote on 13 Feb 2020, 17:37 last edited by
      #24

      @Christian-Ehrlicher Hmmm, so for a small plugin I need to download the whole Qt source code? It definitely takes a lot of time and takes much space. I think the Qt team should think about it to make it easy just to download only what I need not all the source code or provide some other way to overcome this problem because MySql users are very a lot on all over the world. If all the users download the source code it will so be extra pressure on Qt side server and also not good user experience.

      I hope the Qt becomes more beautiful in the feature!!

      A 1 Reply Last reply 13 Feb 2020, 17:51
      0
      • B BAHRAMUDIN ADIL
        13 Feb 2020, 17:37

        @Christian-Ehrlicher Hmmm, so for a small plugin I need to download the whole Qt source code? It definitely takes a lot of time and takes much space. I think the Qt team should think about it to make it easy just to download only what I need not all the source code or provide some other way to overcome this problem because MySql users are very a lot on all over the world. If all the users download the source code it will so be extra pressure on Qt side server and also not good user experience.

        I hope the Qt becomes more beautiful in the feature!!

        A Offline
        A Offline
        aha_1980
        Lifetime Qt Champion
        wrote on 13 Feb 2020, 17:51 last edited by aha_1980
        #25

        @BAHRAMUDIN-ADIL You don't need to tell us - we are just users like you and not related to the Qt company.

        You might also want to use the MariaDB plugin which does not have the MySQL licence restrictions.

        Btw: you can download the sources with the MaintenanceTool.

        Regards

        Qt has to stay free or it will die.

        B 1 Reply Last reply 13 Feb 2020, 18:39
        0
        • A aha_1980
          13 Feb 2020, 17:51

          @BAHRAMUDIN-ADIL You don't need to tell us - we are just users like you and not related to the Qt company.

          You might also want to use the MariaDB plugin which does not have the MySQL licence restrictions.

          Btw: you can download the sources with the MaintenanceTool.

          Regards

          B Offline
          B Offline
          BAHRAMUDIN ADIL
          wrote on 13 Feb 2020, 18:39 last edited by
          #26

          @aha_1980 What is the problem with the following output? I did everything step by step as the document, but why I am getting this error?
          Note: I am using MySql 8 and installed successfully and there is no problem with MySql server.

          C:\Qt\5.14.1\Src\qtbase\src\plugins\sqldrivers>qmake -- MYSQL_INCDIR="C:/Program Files/MySQL/MySQL Server 8.0/include" MYSQL_LIBDIR="C:/Program Files/MySQL/MySQL Server 8.0/lib"
          Info: creating stash file C:\Qt\5.14.1\Src\qtbase\src\plugins\sqldrivers\.qmake.stash
          
          Running configuration tests...
          Checking for DB2 (IBM)... no
          Checking for InterBase... no
          Checking for MySQL... no
          Checking for OCI (Oracle)... no
          Checking for ODBC... yes
          Checking for PostgreSQL... no
          Checking for SQLite (version 2)... no
          Checking for TDS (Sybase)... no
          Done running configuration tests.
          
          Configure summary:
          
          Qt Sql Drivers:
            DB2 (IBM) .............................. no
            InterBase .............................. no
            MySql .................................. no
            OCI (Oracle) ........................... no
            ODBC ................................... yes
            PostgreSQL ............................. no
            SQLite2 ................................ no
            SQLite ................................. yes
              Using system provided SQLite ......... no
            TDS (Sybase) ........................... no
          
          Qt is now configured for building. Just run 'nmake'.
          Once everything is built, you must run 'nmake install'.
          Qt will be installed into 'C:\Qt\5.14.0\msvc2017_64'.
          
          Prior to reconfiguration, make sure you remove any leftovers from
          the previous build.
          
          
          C:\Qt\5.14.1\Src\qtbase\src\plugins\sqldrivers>nmake sub-mysql
          
          Microsoft (R) Program Maintenance Utility Version 14.24.28316.0
          Copyright (C) Microsoft Corporation.  All rights reserved.
          
          NMAKE : fatal error U1073: don't know how to make 'sub-mysql'
          Stop.
          
          C:\Qt\5.14.1\Src\qtbase\src\plugins\sqldrivers>
          
          1 Reply Last reply
          0
          • S Offline
            S Offline
            SGaist
            Lifetime Qt Champion
            wrote on 13 Feb 2020, 18:42 last edited by
            #27

            Take a closer look at the configure test logs to see exactly why the detection failed.

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

            B 1 Reply Last reply 14 Feb 2020, 06:21
            1
            • S SGaist
              13 Feb 2020, 18:42

              Take a closer look at the configure test logs to see exactly why the detection failed.

              B Offline
              B Offline
              BAHRAMUDIN ADIL
              wrote on 14 Feb 2020, 06:21 last edited by
              #28

              @SGaist Still it is throwing error, I going to not use Qt anymore, and go for Java, the best and the easy language all over the word it is why Java is always on the top of all of the languages.

              1 Reply Last reply
              0
              • S Offline
                S Offline
                SGaist
                Lifetime Qt Champion
                wrote on 14 Feb 2020, 22:03 last edited by
                #29

                Without the information located in the test logs it's impossible to know what is going on.

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

                B 1 Reply Last reply 15 Feb 2020, 09:47
                1
                • S SGaist
                  14 Feb 2020, 22:03

                  Without the information located in the test logs it's impossible to know what is going on.

                  B Offline
                  B Offline
                  BAHRAMUDIN ADIL
                  wrote on 15 Feb 2020, 09:47 last edited by
                  #30

                  @SGaist OK, I will tell you what is going on. First of all, every step is done according to the documentation.
                  It is what did I try and what did I get:
                  I have MySql 8 installed on my machine, and works well Java, command line, and other database tools and software.
                  Because of the license problem the Qt team not provide MySql driver anymore and must be compiled by the user. For this, I downloaded and reinstalled Qt with source code, which took me a lot of time and wasted me a lot of internets and disk space (which is a very bad user experience).
                  Then I start to compile the source code of the MySql drive, first I tried the documentation way, there are three commands need to execute:

                  qmake -- MYSQL_INCDIR="C:/Program Files/MySQL/MySQL Connector C 6.1/include" MYSQL_LIBDIR="C:/Program Files/MySQL/MySQL Connector C 6.1/lib"
                  nmake sub-mysql
                  nmake install
                  

                  The first command executed without error, but from the log which I sent here in before post, it says that did not find MySql:

                  Running configuration tests...
                  Checking for DB2 (IBM)... no
                  Checking for InterBase... no
                  Checking for MySQL... no
                  Checking for OCI (Oracle)... no
                  Checking for ODBC... yes
                  Checking for PostgreSQL... no
                  Checking for SQLite (version 2)... no
                  Checking for TDS (Sybase)... no
                  Done running configuration tests.
                  
                  Configure summary:
                  
                  Qt Sql Drivers:
                    DB2 (IBM) .............................. no
                    InterBase .............................. no
                    MySql .................................. no
                    OCI (Oracle) ........................... no
                    ODBC ................................... yes
                    PostgreSQL ............................. no
                    SQLite2 ................................ no
                    SQLite ................................. yes
                      Using system provided SQLite ......... no
                    TDS (Sybase) ........................... no
                  

                  And then when I execute the second command it shows error:

                  C:\Qt\5.14.1\Src\qtbase\src\plugins\sqldrivers>nmake sub-mysql
                  
                  Microsoft (R) Program Maintenance Utility Version 14.24.28316.0
                  Copyright (C) Microsoft Corporation.  All rights reserved.
                  
                  NMAKE : fatal error U1073: don't know how to make 'sub-mysql'
                  Stop.
                  

                  It is what I got when running the commands, I don't know where I am wrong, I did every step as the documentation says.

                  The second way I have tried is: I opened Qt-Creator and then import the mysql project, and then when I build the project, it says:

                  Project ERROR: Library 'mysql' is not defined.
                  

                  Then in .pro file I configured MySql lib and include dir also the same error.

                  The third way I have installed Qt-VS tools for Microsoft Visual Studio, and then when I open the project in the Visual Studio, then also shows errors the project not opened:

                  --- (Import): Generating new project of mysql.pro file
                  --- (qmake) : Using: C:\QT\5.14.1\MSVC2017_64\bin\qmake
                  --- (qmake) : Working Directory: C:\Qt\5.14.1\Src\qtbase\src\plugins\sqldrivers\mysql
                  --- (qmake) : Arguments: -tp vc "mysql.pro" -o "mysql.vcxproj" QMAKE_INCDIR_QT=$(QTDIR)\include QMAKE_LIBDIR=$(QTDIR)\lib QMAKE_MOC=$(QTDIR)\bin\moc.exe QMAKE_QMAKE=$(QTDIR)\bin\qmake.exe
                  
                  [1] - Info: creating stash file C:\Qt\5.14.1\Src\qtbase\src\plugins\sqldrivers\.qmake.stash
                  
                  --- (Import): Success: 1
                  [1] - Cannot read C:/Qt/5.14.1/Src/qtbase/src/plugins/sqldrivers/qtsqldrivers-config.pri: No such file or directory
                  [2] - Project ERROR: Library 'mysql' is not defined.
                  
                  --- (Import): Error(s): 2
                  --- (qmake) : Exit Code: 3
                  

                  Then you say what should I do? In the 21st Century even one small plugin not getting compiled by Qt.

                  J 1 Reply Last reply 15 Feb 2020, 14:02
                  0
                  • B BAHRAMUDIN ADIL
                    15 Feb 2020, 09:47

                    @SGaist OK, I will tell you what is going on. First of all, every step is done according to the documentation.
                    It is what did I try and what did I get:
                    I have MySql 8 installed on my machine, and works well Java, command line, and other database tools and software.
                    Because of the license problem the Qt team not provide MySql driver anymore and must be compiled by the user. For this, I downloaded and reinstalled Qt with source code, which took me a lot of time and wasted me a lot of internets and disk space (which is a very bad user experience).
                    Then I start to compile the source code of the MySql drive, first I tried the documentation way, there are three commands need to execute:

                    qmake -- MYSQL_INCDIR="C:/Program Files/MySQL/MySQL Connector C 6.1/include" MYSQL_LIBDIR="C:/Program Files/MySQL/MySQL Connector C 6.1/lib"
                    nmake sub-mysql
                    nmake install
                    

                    The first command executed without error, but from the log which I sent here in before post, it says that did not find MySql:

                    Running configuration tests...
                    Checking for DB2 (IBM)... no
                    Checking for InterBase... no
                    Checking for MySQL... no
                    Checking for OCI (Oracle)... no
                    Checking for ODBC... yes
                    Checking for PostgreSQL... no
                    Checking for SQLite (version 2)... no
                    Checking for TDS (Sybase)... no
                    Done running configuration tests.
                    
                    Configure summary:
                    
                    Qt Sql Drivers:
                      DB2 (IBM) .............................. no
                      InterBase .............................. no
                      MySql .................................. no
                      OCI (Oracle) ........................... no
                      ODBC ................................... yes
                      PostgreSQL ............................. no
                      SQLite2 ................................ no
                      SQLite ................................. yes
                        Using system provided SQLite ......... no
                      TDS (Sybase) ........................... no
                    

                    And then when I execute the second command it shows error:

                    C:\Qt\5.14.1\Src\qtbase\src\plugins\sqldrivers>nmake sub-mysql
                    
                    Microsoft (R) Program Maintenance Utility Version 14.24.28316.0
                    Copyright (C) Microsoft Corporation.  All rights reserved.
                    
                    NMAKE : fatal error U1073: don't know how to make 'sub-mysql'
                    Stop.
                    

                    It is what I got when running the commands, I don't know where I am wrong, I did every step as the documentation says.

                    The second way I have tried is: I opened Qt-Creator and then import the mysql project, and then when I build the project, it says:

                    Project ERROR: Library 'mysql' is not defined.
                    

                    Then in .pro file I configured MySql lib and include dir also the same error.

                    The third way I have installed Qt-VS tools for Microsoft Visual Studio, and then when I open the project in the Visual Studio, then also shows errors the project not opened:

                    --- (Import): Generating new project of mysql.pro file
                    --- (qmake) : Using: C:\QT\5.14.1\MSVC2017_64\bin\qmake
                    --- (qmake) : Working Directory: C:\Qt\5.14.1\Src\qtbase\src\plugins\sqldrivers\mysql
                    --- (qmake) : Arguments: -tp vc "mysql.pro" -o "mysql.vcxproj" QMAKE_INCDIR_QT=$(QTDIR)\include QMAKE_LIBDIR=$(QTDIR)\lib QMAKE_MOC=$(QTDIR)\bin\moc.exe QMAKE_QMAKE=$(QTDIR)\bin\qmake.exe
                    
                    [1] - Info: creating stash file C:\Qt\5.14.1\Src\qtbase\src\plugins\sqldrivers\.qmake.stash
                    
                    --- (Import): Success: 1
                    [1] - Cannot read C:/Qt/5.14.1/Src/qtbase/src/plugins/sqldrivers/qtsqldrivers-config.pri: No such file or directory
                    [2] - Project ERROR: Library 'mysql' is not defined.
                    
                    --- (Import): Error(s): 2
                    --- (qmake) : Exit Code: 3
                    

                    Then you say what should I do? In the 21st Century even one small plugin not getting compiled by Qt.

                    J Offline
                    J Offline
                    JKSH
                    Moderators
                    wrote on 15 Feb 2020, 14:02 last edited by
                    #31

                    @BAHRAMUDIN-ADIL said in Qt already updated to 5.14.1, but why it still uses MSVC 2017 build tools?:

                    I have MySql 8

                    ...

                    qmake -- MYSQL_INCDIR="C:/Program Files/MySQL/MySQL Connector C 6.1/include" MYSQL_LIBDIR="C:/Program Files/MySQL/MySQL Connector C 6.1/lib"
                    

                    You told qmake to use MySQL 6.1, not MySQL 8.0.

                    Note: MySQL 8.0 has a different folder structure than previous versions. Check your MySQL installation folder to find the correct paths to the include and lib folders.

                    I downloaded and reinstalled Qt with source code, which took me a lot of time and wasted me a lot of internets and disk space

                    For future reference, you don't need to re-install Qt to get the source code. You have 2 options:

                    • (Using the online installer) Run MaintenanceTool.exe, select "Add/Remove Components", and select Qt > Qt 5.14.1 > Sources
                    • (Using direct download) Get the sources from http://download.qt.io/official_releases/qt/5.14/5.14.1/single/ — the *.zip file is for Windows, the *.tar.xz file is for Linux/macOS

                    Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                    B 1 Reply Last reply 15 Feb 2020, 17:17
                    2
                    • J JKSH
                      15 Feb 2020, 14:02

                      @BAHRAMUDIN-ADIL said in Qt already updated to 5.14.1, but why it still uses MSVC 2017 build tools?:

                      I have MySql 8

                      ...

                      qmake -- MYSQL_INCDIR="C:/Program Files/MySQL/MySQL Connector C 6.1/include" MYSQL_LIBDIR="C:/Program Files/MySQL/MySQL Connector C 6.1/lib"
                      

                      You told qmake to use MySQL 6.1, not MySQL 8.0.

                      Note: MySQL 8.0 has a different folder structure than previous versions. Check your MySQL installation folder to find the correct paths to the include and lib folders.

                      I downloaded and reinstalled Qt with source code, which took me a lot of time and wasted me a lot of internets and disk space

                      For future reference, you don't need to re-install Qt to get the source code. You have 2 options:

                      • (Using the online installer) Run MaintenanceTool.exe, select "Add/Remove Components", and select Qt > Qt 5.14.1 > Sources
                      • (Using direct download) Get the sources from http://download.qt.io/official_releases/qt/5.14/5.14.1/single/ — the *.zip file is for Windows, the *.tar.xz file is for Linux/macOS
                      B Offline
                      B Offline
                      BAHRAMUDIN ADIL
                      wrote on 15 Feb 2020, 17:17 last edited by
                      #32

                      @JKSH Thanks! I know the command, I pasted that command from the documentation, when I executed I modified the command for my self. I am not new to coding I have 10 years experience with coding. So I know these basic steps.

                      qmake -- MYSQL_INCDIR="C:/Program Files/MySQL/MySQL Server 8.0/include" MYSQL_LIBDIR="C:/Program Files/MySQL/MySQL Server 8.0/lib"
                      

                      The second one I also know how to install to and modify the Qt installation by MaintenanceTool which will be installed when installing Qt.

                      I did a fresh installation to there do not be any reason for the compatibility between source code and the installed binary packages.

                      I saw there a lot of shortcomings in the Qt framework. I did not remember using Qt without a problem, the problem which takes so much time to solve.

                      1 Reply Last reply
                      0

                      32/32

                      15 Feb 2020, 17:17

                      • Login

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