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. Added QMysql plugin to Qt Creator project on MacOS Ventura 13.4
Forum Updated to NodeBB v4.3 + New Features

Added QMysql plugin to Qt Creator project on MacOS Ventura 13.4

Scheduled Pinned Locked Moved Solved General and Desktop
53 Posts 4 Posters 20.9k Views 2 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.
  • SGaistS SGaist

    Please stop trying to reconfigure a full Qt build.

    Just follow the instructions for building the driver directly as you did before, just drop the -G Ninja part. And please do that from a new empty build folder.

    B Offline
    B Offline
    BushyAxis793
    wrote on last edited by
    #13

    @SGaist Ok. I follow the instructions from your link and below is the result:

    mikolajnawrocki@MacBook-Pro-Mikoaj ~ %  cd /Users/mikolajnawrocki/Qt/6.5.0/macos/plugins/sqldrivers
    mikolajnawrocki@MacBook-Pro-Mikoaj sqldrivers % mkdir build-sqldrivers
    mikolajnawrocki@MacBook-Pro-Mikoaj sqldrivers % cd build-sqldrivers
    mikolajnawrocki@MacBook-Pro-Mikoaj build-sqldrivers % qt-cmake -G Ninja /Users/mikolajnawrocki/Qt/6.5.0/Src/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=/Users/mikolajnawrocki/Qt/6.5.0/macos -DMySQL_INCLUDE_DIR="/usr/local/mysql/include" -DMySQL_LIBRARY="/usr/local/mysql/lib/libmysqlclient.dylib"
    zsh: command not found: qt-cmake
    
    SGaistS 1 Reply Last reply
    0
    • B BushyAxis793

      @SGaist Ok. I follow the instructions from your link and below is the result:

      mikolajnawrocki@MacBook-Pro-Mikoaj ~ %  cd /Users/mikolajnawrocki/Qt/6.5.0/macos/plugins/sqldrivers
      mikolajnawrocki@MacBook-Pro-Mikoaj sqldrivers % mkdir build-sqldrivers
      mikolajnawrocki@MacBook-Pro-Mikoaj sqldrivers % cd build-sqldrivers
      mikolajnawrocki@MacBook-Pro-Mikoaj build-sqldrivers % qt-cmake -G Ninja /Users/mikolajnawrocki/Qt/6.5.0/Src/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=/Users/mikolajnawrocki/Qt/6.5.0/macos -DMySQL_INCLUDE_DIR="/usr/local/mysql/include" -DMySQL_LIBRARY="/usr/local/mysql/lib/libmysqlclient.dylib"
      zsh: command not found: qt-cmake
      
      SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #14

      Use the full path to the qt-cmake executable.

      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
      1
      • SGaistS SGaist

        Use the full path to the qt-cmake executable.

        B Offline
        B Offline
        BushyAxis793
        wrote on last edited by
        #15

        @SGaist I got:

        mikolajnawrocki@MacBook-Pro-Mikoaj build-sqldrivers % /Users/mikolajnawrocki/Qt/6.5.0/macos/bin/qt-cmake -G Ninja /Users/mikolajnawrocki/Qt/6.5.0/Src/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=/Users/mikolajnawrocki/Qt/6.5.0/macos -DMySQL_INCLUDE_DIR="/usr/local/mysql/include" -DMySQL_LIBRARY="/usr/local/mysql/lib/libmysqlclient.dylib"
        CMake Error: CMake was unable to find a build program corresponding to "Ninja".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
        CMake Error: CMAKE_ASM_COMPILER not set, after EnableLanguage
        -- Configuring incomplete, errors occurred!
        
        SGaistS 1 Reply Last reply
        0
        • B BushyAxis793

          @SGaist I got:

          mikolajnawrocki@MacBook-Pro-Mikoaj build-sqldrivers % /Users/mikolajnawrocki/Qt/6.5.0/macos/bin/qt-cmake -G Ninja /Users/mikolajnawrocki/Qt/6.5.0/Src/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=/Users/mikolajnawrocki/Qt/6.5.0/macos -DMySQL_INCLUDE_DIR="/usr/local/mysql/include" -DMySQL_LIBRARY="/usr/local/mysql/lib/libmysqlclient.dylib"
          CMake Error: CMake was unable to find a build program corresponding to "Ninja".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
          CMake Error: CMAKE_ASM_COMPILER not set, after EnableLanguage
          -- Configuring incomplete, errors occurred!
          
          SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #16

          Why did you add the Ninja stuff back ? I just wrote that you should use the full path to qt-cmake.

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

          B 2 Replies Last reply
          1
          • SGaistS SGaist

            Why did you add the Ninja stuff back ? I just wrote that you should use the full path to qt-cmake.

            B Offline
            B Offline
            BushyAxis793
            wrote on last edited by
            #17

            @SGaist I am not sure I understand what you are talking about. But I input :

            /Users/mikolajnawrocki/Qt/6.5.0/macos/bin/qt-cmake -G /Users/mikolajnawrocki/Qt/6.5.0/Src/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=/Users/mikolajnawrocki/Qt/6.5.0/macos -DMySQL_INCLUDE_DIR="/usr/local/mysql/include" -DMySQL_LIBRARY="/usr/local/mysql/lib/libmysqlclient.dylib"
            

            and I got:

            CMake Error: Could not create named generator /Users/mikolajnawrocki/Qt/6.5.0/Src/qtbase/src/plugins/sqldrivers
            
            Generators
            * Unix Makefiles               = Generates standard UNIX makefiles.
              Ninja                        = Generates build.ninja files.
              Ninja Multi-Config           = Generates build-<Config>.ninja files.
              Watcom WMake                 = Generates Watcom WMake makefiles.
              Xcode                        = Generate Xcode project files.
              CodeBlocks - Ninja           = Generates CodeBlocks project files.
              CodeBlocks - Unix Makefiles  = Generates CodeBlocks project files.
              CodeLite - Ninja             = Generates CodeLite project files.
              CodeLite - Unix Makefiles    = Generates CodeLite project files.
              Eclipse CDT4 - Ninja         = Generates Eclipse CDT 4.0 project files.
              Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.
              Kate - Ninja                 = Generates Kate project files.
              Kate - Unix Makefiles        = Generates Kate project files.
              Sublime Text 2 - Ninja       = Generates Sublime Text 2 project files.
              Sublime Text 2 - Unix Makefiles
                                           = Generates Sublime Text 2 project files.
            
            CMake Warning:
              No source or binary directory provided.  Both will be assumed to be the
              same as the current working directory, but note that this warning will
              become a fatal error in future CMake releases.
            
            1 Reply Last reply
            0
            • SGaistS SGaist

              Why did you add the Ninja stuff back ? I just wrote that you should use the full path to qt-cmake.

              B Offline
              B Offline
              BushyAxis793
              wrote on last edited by
              #18

              @SGaist Ok I was need some time to unsderstand. I input :

              /Users/mikolajnawrocki/Qt/6.5.0/macos/bin/qt-cmake /Users/mikolajnawrocki/Qt/6.5.0/Src/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=/Users/mikolajnawrocki/Qt/6.5.0/macos -DMySQL_INCLUDE_DIR="/usr/local/mysql/include" -DMySQL_LIBRARY="/usr/local/mysql/lib/libmysqlclient.dylib"
              

              And I got:

              -- The CXX compiler identification is AppleClang 14.0.3.14030022
              -- The C compiler identification is AppleClang 14.0.3.14030022
              -- The ASM compiler identification is Clang with GNU-like command-line
              -- Found assembler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
              -- Detecting CXX compiler ABI info
              -- Detecting CXX compiler ABI info - done
              -- Check for working CXX compiler: /usr/bin/clang++ - 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: /usr/bin/clang - skipped
              -- Detecting C compile features
              -- Detecting C compile features - done
              -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
              -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
              -- Found Threads: TRUE  
              -- Performing Test HAVE_STDATOMIC
              -- Performing Test HAVE_STDATOMIC - Success
              -- Found WrapAtomic: TRUE  
              
              -- Configuration summary shown below. It has also been written to /Users/mikolajnawrocki/Qt/6.5.0/macos/plugins/sqldrivers/build-sqldrivers/config.summary
              -- Configure with --log-level=STATUS or higher to increase CMake's message verbosity. The log level does not persist across reconfigurations.
               
              -- Configure summary:
              
              Qt Sql Drivers:
                DB2 (IBM) .............................. no
                InterBase .............................. no
                MySql .................................. yes
                OCI (Oracle) ........................... no
                ODBC ................................... no
                PostgreSQL ............................. no
                SQLite ................................. yes
                  Using system provided SQLite ......... no
               
              
              -- Configuring done (3.8s)
              -- Generating done (0.0s)
              -- Build files have been written to: /Users/mikolajnawrocki/Qt/6.5.0/macos/plugins/sqldrivers/build-sqldrivers
              
              

              Then I input:

              cmake --build .

              and I got:

              [  9%] Automatic MOC for target QMYSQLDriverPlugin
              [  9%] Built target QMYSQLDriverPlugin_autogen
              [ 18%] Building CXX object mysql/CMakeFiles/QMYSQLDriverPlugin.dir/QMYSQLDriverPlugin_autogen/mocs_compilation.cpp.o
              [ 27%] Building CXX object mysql/CMakeFiles/QMYSQLDriverPlugin.dir/main.cpp.o
              [ 36%] Building CXX object mysql/CMakeFiles/QMYSQLDriverPlugin.dir/qsql_mysql.cpp.o
              [ 45%] Linking CXX shared module ../plugins/sqldrivers/libqsqlmysql.dylib
              ld: warning: ignoring file /usr/local/mysql/lib/libmysqlclient.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64
              Undefined symbols for architecture x86_64:
                "_mysql_affected_rows", referenced from:
                    QMYSQLResult::reset(QString const&) in qsql_mysql.cpp.o
                    QMYSQLResult::nextResult() in qsql_mysql.cpp.o
                "_mysql_character_set_name", referenced from:
                    QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) (.cold.1) in qsql_mysql.cpp.o
                "_mysql_close", referenced from:
                    QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) in qsql_mysql.cpp.o
                    QMYSQLDriver::close() in qsql_mysql.cpp.o
                "_mysql_data_seek", referenced from:
                    QMYSQLResult::fetch(int) in qsql_mysql.cpp.o
                "_mysql_errno", referenced from:
                    qMakeError(QString const&, QSqlError::ErrorType, QMYSQLDriverPrivate const*) in qsql_mysql.cpp.o
                    QMYSQLResult::record() const in qsql_mysql.cpp.o
                "_mysql_error", referenced from:
                    qMakeError(QString const&, QSqlError::ErrorType, QMYSQLDriverPrivate const*) in qsql_mysql.cpp.o
                    QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) (.cold.1) in qsql_mysql.cpp.o
                "_mysql_fetch_field", referenced from:
                    QMYSQLResultPrivate::bindInValues() in qsql_mysql.cpp.o
                    QMYSQLResult::record() const in qsql_mysql.cpp.o
                    QMYSQLDriver::record(QString const&) const in qsql_mysql.cpp.o
                "_mysql_fetch_field_direct", referenced from:
                    QMYSQLResult::reset(QString const&) in qsql_mysql.cpp.o
                    QMYSQLResult::nextResult() in qsql_mysql.cpp.o
                "_mysql_fetch_lengths", referenced from:
                    QMYSQLResult::data(int) in qsql_mysql.cpp.o
                "_mysql_fetch_row", referenced from:
                    QMYSQLResult::fetch(int) in qsql_mysql.cpp.o
                    QMYSQLResult::fetchNext() in qsql_mysql.cpp.o
                "_mysql_field_count", referenced from:
                    QMYSQLResult::reset(QString const&) in qsql_mysql.cpp.o
                    QMYSQLResult::nextResult() in qsql_mysql.cpp.o
                "_mysql_field_seek", referenced from:
                    QMYSQLResult::record() const in qsql_mysql.cpp.o
                "_mysql_free_result", referenced from:
                    QMYSQLResult::cleanup() in qsql_mysql.cpp.o
                    QMYSQLResult::nextResult() in qsql_mysql.cpp.o
                    QMYSQLDriver::record(QString const&) const in qsql_mysql.cpp.o
                "_mysql_init", referenced from:
                    QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) in qsql_mysql.cpp.o
                "_mysql_insert_id", referenced from:
                    QMYSQLResult::lastInsertId() const in qsql_mysql.cpp.o
                "_mysql_list_fields", referenced from:
                    QMYSQLDriver::record(QString const&) const in qsql_mysql.cpp.o
                "_mysql_next_result", referenced from:
                    QMYSQLResult::cleanup() in qsql_mysql.cpp.o
                    QMYSQLResult::nextResult() in qsql_mysql.cpp.o
                "_mysql_num_fields", referenced from:
                    QMYSQLResultPrivate::bindInValues() in qsql_mysql.cpp.o
                "_mysql_num_rows", referenced from:
                    QMYSQLResult::fetchLast() in qsql_mysql.cpp.o
                    QMYSQLResult::size() in qsql_mysql.cpp.o
                "_mysql_options", referenced from:
                    setOptionString(MYSQL*, mysql_option, QStringView) in qsql_mysql.cpp.o
                    setOptionInt(MYSQL*, mysql_option, QStringView) in qsql_mysql.cpp.o
                    setOptionBool(MYSQL*, mysql_option, QStringView) in qsql_mysql.cpp.o
                "_mysql_query", referenced from:
                    QMYSQLDriver::beginTransaction() in qsql_mysql.cpp.o
                    QMYSQLDriver::commitTransaction() in qsql_mysql.cpp.o
                    QMYSQLDriver::rollbackTransaction() in qsql_mysql.cpp.o
                "_mysql_real_connect", referenced from:
                    QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) in qsql_mysql.cpp.o
                "_mysql_real_escape_string", referenced from:
                    QMYSQLDriver::formatValue(QSqlField const&, bool) const in qsql_mysql.cpp.o
                "_mysql_real_query", referenced from:
                    QMYSQLResult::reset(QString const&) in qsql_mysql.cpp.o
                "_mysql_select_db", referenced from:
                    QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) in qsql_mysql.cpp.o
                "_mysql_server_end", referenced from:
                    QMYSQLDriver::~QMYSQLDriver() in qsql_mysql.cpp.o
                    QMYSQLDriver::~QMYSQLDriver() in qsql_mysql.cpp.o
                    QMYSQLDriver::~QMYSQLDriver() in qsql_mysql.cpp.o
                "_mysql_server_init", referenced from:
                    QMYSQLDriver::QMYSQLDriver(QObject*) in qsql_mysql.cpp.o
                    QMYSQLDriver::QMYSQLDriver(MYSQL*, QObject*) in qsql_mysql.cpp.o
                "_mysql_set_character_set", referenced from:
                    QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) in qsql_mysql.cpp.o
                "_mysql_stmt_affected_rows", referenced from:
                    QMYSQLResult::exec() in qsql_mysql.cpp.o
                "_mysql_stmt_attr_set", referenced from:
                    QMYSQLResult::exec() in qsql_mysql.cpp.o
                "_mysql_stmt_bind_param", referenced from:
                    QMYSQLResult::exec() in qsql_mysql.cpp.o
                "_mysql_stmt_bind_result", referenced from:
                    QMYSQLResult::exec() in qsql_mysql.cpp.o
                "_mysql_stmt_close", referenced from:
                    QMYSQLResult::cleanup() in qsql_mysql.cpp.o
                    QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) in qsql_mysql.cpp.o
                "_mysql_stmt_data_seek", referenced from:
                    QMYSQLResult::fetch(int) in qsql_mysql.cpp.o
                "_mysql_stmt_errno", referenced from:
                    qMakeStmtError(QString const&, QSqlError::ErrorType, MYSQL_STMT*) in qsql_mysql.cpp.o
                "_mysql_stmt_error", referenced from:
                    qMakeStmtError(QString const&, QSqlError::ErrorType, MYSQL_STMT*) in qsql_mysql.cpp.o
                "_mysql_stmt_execute", referenced from:
                    QMYSQLResult::exec() in qsql_mysql.cpp.o
                "_mysql_stmt_fetch", referenced from:
                    QMYSQLResult::fetch(int) in qsql_mysql.cpp.o
                    QMYSQLResult::fetchNext() in qsql_mysql.cpp.o
                "_mysql_stmt_free_result", referenced from:
                    QMYSQLResult::detachFromResultSet() in qsql_mysql.cpp.o
                "_mysql_stmt_init", referenced from:
                    QMYSQLResult::prepare(QString const&) in qsql_mysql.cpp.o
                    QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) in qsql_mysql.cpp.o
                "_mysql_stmt_insert_id", referenced from:
                    QMYSQLResult::lastInsertId() const in qsql_mysql.cpp.o
                "_mysql_stmt_num_rows", referenced from:
                    QMYSQLResult::fetchLast() in qsql_mysql.cpp.o
                    QMYSQLResult::size() in qsql_mysql.cpp.o
                "_mysql_stmt_param_count", referenced from:
                    QMYSQLResult::prepare(QString const&) in qsql_mysql.cpp.o
                    QMYSQLResult::exec() in qsql_mysql.cpp.o
                    QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) in qsql_mysql.cpp.o
                "_mysql_stmt_prepare", referenced from:
                    QMYSQLResult::prepare(QString const&) in qsql_mysql.cpp.o
                    QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) in qsql_mysql.cpp.o
                "_mysql_stmt_reset", referenced from:
                    QMYSQLResult::exec() in qsql_mysql.cpp.o
                "_mysql_stmt_result_metadata", referenced from:
                    QMYSQLResultPrivate::bindInValues() in qsql_mysql.cpp.o
                "_mysql_stmt_store_result", referenced from:
                    QMYSQLResult::exec() in qsql_mysql.cpp.o
                "_mysql_store_result", referenced from:
                    QMYSQLResult::cleanup() in qsql_mysql.cpp.o
                    QMYSQLResult::reset(QString const&) in qsql_mysql.cpp.o
                    QMYSQLResult::nextResult() in qsql_mysql.cpp.o
                "_mysql_thread_end", referenced from:
                    QMYSQLDriver::close() in qsql_mysql.cpp.o
                "_mysql_thread_init", referenced from:
                    QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) in qsql_mysql.cpp.o
              ld: symbol(s) not found for architecture x86_64
              clang: error: linker command failed with exit code 1 (use -v to see invocation)
              make[2]: *** [plugins/sqldrivers/libqsqlmysql.dylib] Error 1
              make[1]: *** [mysql/CMakeFiles/QMYSQLDriverPlugin.dir/all] Error 2
              make: *** [all] Error 2
              
              

              What now?

              SGaistS 1 Reply Last reply
              0
              • B BushyAxis793

                @SGaist Ok I was need some time to unsderstand. I input :

                /Users/mikolajnawrocki/Qt/6.5.0/macos/bin/qt-cmake /Users/mikolajnawrocki/Qt/6.5.0/Src/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=/Users/mikolajnawrocki/Qt/6.5.0/macos -DMySQL_INCLUDE_DIR="/usr/local/mysql/include" -DMySQL_LIBRARY="/usr/local/mysql/lib/libmysqlclient.dylib"
                

                And I got:

                -- The CXX compiler identification is AppleClang 14.0.3.14030022
                -- The C compiler identification is AppleClang 14.0.3.14030022
                -- The ASM compiler identification is Clang with GNU-like command-line
                -- Found assembler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
                -- Detecting CXX compiler ABI info
                -- Detecting CXX compiler ABI info - done
                -- Check for working CXX compiler: /usr/bin/clang++ - 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: /usr/bin/clang - skipped
                -- Detecting C compile features
                -- Detecting C compile features - done
                -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
                -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
                -- Found Threads: TRUE  
                -- Performing Test HAVE_STDATOMIC
                -- Performing Test HAVE_STDATOMIC - Success
                -- Found WrapAtomic: TRUE  
                
                -- Configuration summary shown below. It has also been written to /Users/mikolajnawrocki/Qt/6.5.0/macos/plugins/sqldrivers/build-sqldrivers/config.summary
                -- Configure with --log-level=STATUS or higher to increase CMake's message verbosity. The log level does not persist across reconfigurations.
                 
                -- Configure summary:
                
                Qt Sql Drivers:
                  DB2 (IBM) .............................. no
                  InterBase .............................. no
                  MySql .................................. yes
                  OCI (Oracle) ........................... no
                  ODBC ................................... no
                  PostgreSQL ............................. no
                  SQLite ................................. yes
                    Using system provided SQLite ......... no
                 
                
                -- Configuring done (3.8s)
                -- Generating done (0.0s)
                -- Build files have been written to: /Users/mikolajnawrocki/Qt/6.5.0/macos/plugins/sqldrivers/build-sqldrivers
                
                

                Then I input:

                cmake --build .

                and I got:

                [  9%] Automatic MOC for target QMYSQLDriverPlugin
                [  9%] Built target QMYSQLDriverPlugin_autogen
                [ 18%] Building CXX object mysql/CMakeFiles/QMYSQLDriverPlugin.dir/QMYSQLDriverPlugin_autogen/mocs_compilation.cpp.o
                [ 27%] Building CXX object mysql/CMakeFiles/QMYSQLDriverPlugin.dir/main.cpp.o
                [ 36%] Building CXX object mysql/CMakeFiles/QMYSQLDriverPlugin.dir/qsql_mysql.cpp.o
                [ 45%] Linking CXX shared module ../plugins/sqldrivers/libqsqlmysql.dylib
                ld: warning: ignoring file /usr/local/mysql/lib/libmysqlclient.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64
                Undefined symbols for architecture x86_64:
                  "_mysql_affected_rows", referenced from:
                      QMYSQLResult::reset(QString const&) in qsql_mysql.cpp.o
                      QMYSQLResult::nextResult() in qsql_mysql.cpp.o
                  "_mysql_character_set_name", referenced from:
                      QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) (.cold.1) in qsql_mysql.cpp.o
                  "_mysql_close", referenced from:
                      QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) in qsql_mysql.cpp.o
                      QMYSQLDriver::close() in qsql_mysql.cpp.o
                  "_mysql_data_seek", referenced from:
                      QMYSQLResult::fetch(int) in qsql_mysql.cpp.o
                  "_mysql_errno", referenced from:
                      qMakeError(QString const&, QSqlError::ErrorType, QMYSQLDriverPrivate const*) in qsql_mysql.cpp.o
                      QMYSQLResult::record() const in qsql_mysql.cpp.o
                  "_mysql_error", referenced from:
                      qMakeError(QString const&, QSqlError::ErrorType, QMYSQLDriverPrivate const*) in qsql_mysql.cpp.o
                      QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) (.cold.1) in qsql_mysql.cpp.o
                  "_mysql_fetch_field", referenced from:
                      QMYSQLResultPrivate::bindInValues() in qsql_mysql.cpp.o
                      QMYSQLResult::record() const in qsql_mysql.cpp.o
                      QMYSQLDriver::record(QString const&) const in qsql_mysql.cpp.o
                  "_mysql_fetch_field_direct", referenced from:
                      QMYSQLResult::reset(QString const&) in qsql_mysql.cpp.o
                      QMYSQLResult::nextResult() in qsql_mysql.cpp.o
                  "_mysql_fetch_lengths", referenced from:
                      QMYSQLResult::data(int) in qsql_mysql.cpp.o
                  "_mysql_fetch_row", referenced from:
                      QMYSQLResult::fetch(int) in qsql_mysql.cpp.o
                      QMYSQLResult::fetchNext() in qsql_mysql.cpp.o
                  "_mysql_field_count", referenced from:
                      QMYSQLResult::reset(QString const&) in qsql_mysql.cpp.o
                      QMYSQLResult::nextResult() in qsql_mysql.cpp.o
                  "_mysql_field_seek", referenced from:
                      QMYSQLResult::record() const in qsql_mysql.cpp.o
                  "_mysql_free_result", referenced from:
                      QMYSQLResult::cleanup() in qsql_mysql.cpp.o
                      QMYSQLResult::nextResult() in qsql_mysql.cpp.o
                      QMYSQLDriver::record(QString const&) const in qsql_mysql.cpp.o
                  "_mysql_init", referenced from:
                      QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) in qsql_mysql.cpp.o
                  "_mysql_insert_id", referenced from:
                      QMYSQLResult::lastInsertId() const in qsql_mysql.cpp.o
                  "_mysql_list_fields", referenced from:
                      QMYSQLDriver::record(QString const&) const in qsql_mysql.cpp.o
                  "_mysql_next_result", referenced from:
                      QMYSQLResult::cleanup() in qsql_mysql.cpp.o
                      QMYSQLResult::nextResult() in qsql_mysql.cpp.o
                  "_mysql_num_fields", referenced from:
                      QMYSQLResultPrivate::bindInValues() in qsql_mysql.cpp.o
                  "_mysql_num_rows", referenced from:
                      QMYSQLResult::fetchLast() in qsql_mysql.cpp.o
                      QMYSQLResult::size() in qsql_mysql.cpp.o
                  "_mysql_options", referenced from:
                      setOptionString(MYSQL*, mysql_option, QStringView) in qsql_mysql.cpp.o
                      setOptionInt(MYSQL*, mysql_option, QStringView) in qsql_mysql.cpp.o
                      setOptionBool(MYSQL*, mysql_option, QStringView) in qsql_mysql.cpp.o
                  "_mysql_query", referenced from:
                      QMYSQLDriver::beginTransaction() in qsql_mysql.cpp.o
                      QMYSQLDriver::commitTransaction() in qsql_mysql.cpp.o
                      QMYSQLDriver::rollbackTransaction() in qsql_mysql.cpp.o
                  "_mysql_real_connect", referenced from:
                      QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) in qsql_mysql.cpp.o
                  "_mysql_real_escape_string", referenced from:
                      QMYSQLDriver::formatValue(QSqlField const&, bool) const in qsql_mysql.cpp.o
                  "_mysql_real_query", referenced from:
                      QMYSQLResult::reset(QString const&) in qsql_mysql.cpp.o
                  "_mysql_select_db", referenced from:
                      QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) in qsql_mysql.cpp.o
                  "_mysql_server_end", referenced from:
                      QMYSQLDriver::~QMYSQLDriver() in qsql_mysql.cpp.o
                      QMYSQLDriver::~QMYSQLDriver() in qsql_mysql.cpp.o
                      QMYSQLDriver::~QMYSQLDriver() in qsql_mysql.cpp.o
                  "_mysql_server_init", referenced from:
                      QMYSQLDriver::QMYSQLDriver(QObject*) in qsql_mysql.cpp.o
                      QMYSQLDriver::QMYSQLDriver(MYSQL*, QObject*) in qsql_mysql.cpp.o
                  "_mysql_set_character_set", referenced from:
                      QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) in qsql_mysql.cpp.o
                  "_mysql_stmt_affected_rows", referenced from:
                      QMYSQLResult::exec() in qsql_mysql.cpp.o
                  "_mysql_stmt_attr_set", referenced from:
                      QMYSQLResult::exec() in qsql_mysql.cpp.o
                  "_mysql_stmt_bind_param", referenced from:
                      QMYSQLResult::exec() in qsql_mysql.cpp.o
                  "_mysql_stmt_bind_result", referenced from:
                      QMYSQLResult::exec() in qsql_mysql.cpp.o
                  "_mysql_stmt_close", referenced from:
                      QMYSQLResult::cleanup() in qsql_mysql.cpp.o
                      QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) in qsql_mysql.cpp.o
                  "_mysql_stmt_data_seek", referenced from:
                      QMYSQLResult::fetch(int) in qsql_mysql.cpp.o
                  "_mysql_stmt_errno", referenced from:
                      qMakeStmtError(QString const&, QSqlError::ErrorType, MYSQL_STMT*) in qsql_mysql.cpp.o
                  "_mysql_stmt_error", referenced from:
                      qMakeStmtError(QString const&, QSqlError::ErrorType, MYSQL_STMT*) in qsql_mysql.cpp.o
                  "_mysql_stmt_execute", referenced from:
                      QMYSQLResult::exec() in qsql_mysql.cpp.o
                  "_mysql_stmt_fetch", referenced from:
                      QMYSQLResult::fetch(int) in qsql_mysql.cpp.o
                      QMYSQLResult::fetchNext() in qsql_mysql.cpp.o
                  "_mysql_stmt_free_result", referenced from:
                      QMYSQLResult::detachFromResultSet() in qsql_mysql.cpp.o
                  "_mysql_stmt_init", referenced from:
                      QMYSQLResult::prepare(QString const&) in qsql_mysql.cpp.o
                      QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) in qsql_mysql.cpp.o
                  "_mysql_stmt_insert_id", referenced from:
                      QMYSQLResult::lastInsertId() const in qsql_mysql.cpp.o
                  "_mysql_stmt_num_rows", referenced from:
                      QMYSQLResult::fetchLast() in qsql_mysql.cpp.o
                      QMYSQLResult::size() in qsql_mysql.cpp.o
                  "_mysql_stmt_param_count", referenced from:
                      QMYSQLResult::prepare(QString const&) in qsql_mysql.cpp.o
                      QMYSQLResult::exec() in qsql_mysql.cpp.o
                      QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) in qsql_mysql.cpp.o
                  "_mysql_stmt_prepare", referenced from:
                      QMYSQLResult::prepare(QString const&) in qsql_mysql.cpp.o
                      QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) in qsql_mysql.cpp.o
                  "_mysql_stmt_reset", referenced from:
                      QMYSQLResult::exec() in qsql_mysql.cpp.o
                  "_mysql_stmt_result_metadata", referenced from:
                      QMYSQLResultPrivate::bindInValues() in qsql_mysql.cpp.o
                  "_mysql_stmt_store_result", referenced from:
                      QMYSQLResult::exec() in qsql_mysql.cpp.o
                  "_mysql_store_result", referenced from:
                      QMYSQLResult::cleanup() in qsql_mysql.cpp.o
                      QMYSQLResult::reset(QString const&) in qsql_mysql.cpp.o
                      QMYSQLResult::nextResult() in qsql_mysql.cpp.o
                  "_mysql_thread_end", referenced from:
                      QMYSQLDriver::close() in qsql_mysql.cpp.o
                  "_mysql_thread_init", referenced from:
                      QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&) in qsql_mysql.cpp.o
                ld: symbol(s) not found for architecture x86_64
                clang: error: linker command failed with exit code 1 (use -v to see invocation)
                make[2]: *** [plugins/sqldrivers/libqsqlmysql.dylib] Error 1
                make[1]: *** [mysql/CMakeFiles/QMYSQLDriverPlugin.dir/all] Error 2
                make: *** [all] Error 2
                
                

                What now?

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

                Looks like you installed an arm only version of the MySQL library while working with an x86_64 build of Qt.

                What is your machine ?

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

                B 2 Replies Last reply
                1
                • SGaistS SGaist

                  Looks like you installed an arm only version of the MySQL library while working with an x86_64 build of Qt.

                  What is your machine ?

                  B Offline
                  B Offline
                  BushyAxis793
                  wrote on last edited by BushyAxis793
                  #20

                  @SGaist Information below:

                  602a9680-6574-4a79-bd9b-4f122bd6de6b-Zrzut ekranu 2023-05-28 o 21.26.59.png

                  I supposed I installed Qt arm64 version... So should I Install MySQL x86_64?

                  1 Reply Last reply
                  0
                  • SGaistS SGaist

                    Looks like you installed an arm only version of the MySQL library while working with an x86_64 build of Qt.

                    What is your machine ?

                    B Offline
                    B Offline
                    BushyAxis793
                    wrote on last edited by
                    #21

                    @SGaist Ok, I uninstall MySQL for amr64 and install x86. Run in terminal what I need and I got no error. But when I open project in Qt Creator I got this:

                    33a26803-a55b-42b5-b5b6-1c3303b05bc8-image.png
                    30896348-c510-4ae1-b594-7b28892361b3-image.png

                    SGaistS 1 Reply Last reply
                    0
                    • B BushyAxis793

                      @SGaist Ok, I uninstall MySQL for amr64 and install x86. Run in terminal what I need and I got no error. But when I open project in Qt Creator I got this:

                      33a26803-a55b-42b5-b5b6-1c3303b05bc8-image.png
                      30896348-c510-4ae1-b594-7b28892361b3-image.png

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

                      Unless I am mistaken, your Qt build is a universal build. I.e. it contains both the x86_64 and arm64 symbols. Hence you need to also use a universal MySQL library to link to. If you only have separated libraries for each architecture, you can use lipo to combine them and the use that one.

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

                      B 3 Replies Last reply
                      1
                      • SGaistS SGaist

                        Unless I am mistaken, your Qt build is a universal build. I.e. it contains both the x86_64 and arm64 symbols. Hence you need to also use a universal MySQL library to link to. If you only have separated libraries for each architecture, you can use lipo to combine them and the use that one.

                        B Offline
                        B Offline
                        BushyAxis793
                        wrote on last edited by
                        #23

                        @SGaist Ok. I will try and I let you know.

                        1 Reply Last reply
                        0
                        • SGaistS SGaist

                          Unless I am mistaken, your Qt build is a universal build. I.e. it contains both the x86_64 and arm64 symbols. Hence you need to also use a universal MySQL library to link to. If you only have separated libraries for each architecture, you can use lipo to combine them and the use that one.

                          B Offline
                          B Offline
                          BushyAxis793
                          wrote on last edited by
                          #24
                          This post is deleted!
                          1 Reply Last reply
                          0
                          • SGaistS SGaist

                            Unless I am mistaken, your Qt build is a universal build. I.e. it contains both the x86_64 and arm64 symbols. Hence you need to also use a universal MySQL library to link to. If you only have separated libraries for each architecture, you can use lipo to combine them and the use that one.

                            B Offline
                            B Offline
                            BushyAxis793
                            wrote on last edited by
                            #25

                            @SGaist I find command line for lipo. I copied x86 and arm folders on my desktop and input this in terminal:

                            lipo /Users/mikolajnawrocki/Desktop/mysql-8.0.33-macos13-x86_64/lib/libmysqlclient.dylib /Users/mikolajnawrocki/Desktop/mysql-8.0.33-macos13-arm64/lib/libmysqlclient.dylib -output /Users/mikolajnawrocki/Desktop/universal/libmysqlclient.dylib -create
                            

                            In the folder appeared much bigger libmysqlclient.dylib. So I guess fusion was completed.

                            Then I copied new file to /usr/local/mysql/lib/libmysqlclient.dylib" and paste it. Then I run Qt Creator. The last errors disappeared. But I still got error with mysql plugin.

                            87ac4678-2140-4fb7-a1a9-4b3f3ccf01f5-image.png

                            Below is my folder structure of build-sqldrivers

                            8cb51c7b-aac2-4e77-8e34-dcba4cb39a58-image.png

                            123d421b-d700-4440-b3c3-426dc88acdbd-image.png

                            SGaistS 1 Reply Last reply
                            0
                            • B BushyAxis793

                              @SGaist I find command line for lipo. I copied x86 and arm folders on my desktop and input this in terminal:

                              lipo /Users/mikolajnawrocki/Desktop/mysql-8.0.33-macos13-x86_64/lib/libmysqlclient.dylib /Users/mikolajnawrocki/Desktop/mysql-8.0.33-macos13-arm64/lib/libmysqlclient.dylib -output /Users/mikolajnawrocki/Desktop/universal/libmysqlclient.dylib -create
                              

                              In the folder appeared much bigger libmysqlclient.dylib. So I guess fusion was completed.

                              Then I copied new file to /usr/local/mysql/lib/libmysqlclient.dylib" and paste it. Then I run Qt Creator. The last errors disappeared. But I still got error with mysql plugin.

                              87ac4678-2140-4fb7-a1a9-4b3f3ccf01f5-image.png

                              Below is my folder structure of build-sqldrivers

                              8cb51c7b-aac2-4e77-8e34-dcba4cb39a58-image.png

                              123d421b-d700-4440-b3c3-426dc88acdbd-image.png

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

                              If you copy the file on the command line, it will, by default, copy the content of the pointed file and thus you will have the library you want.

                              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
                              1
                              • SGaistS SGaist

                                If you copy the file on the command line, it will, by default, copy the content of the pointed file and thus you will have the library you want.

                                B Offline
                                B Offline
                                BushyAxis793
                                wrote on last edited by
                                #27

                                @SGaist So what I should doing now? The universal libqmysqlclient.dylib is in the correct place. I got no errors in Terminal. But I got one in Qt Creator.

                                SGaistS 1 Reply Last reply
                                0
                                • B BushyAxis793

                                  @SGaist So what I should doing now? The universal libqmysqlclient.dylib is in the correct place. I got no errors in Terminal. But I got one in Qt Creator.

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

                                  Which error are you getting now ?

                                  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
                                  1
                                  • SGaistS SGaist

                                    Which error are you getting now ?

                                    B Offline
                                    B Offline
                                    BushyAxis793
                                    wrote on last edited by
                                    #29

                                    @SGaist Error below

                                    QSqlDatabase: QMYSQL driver not loaded
                                    QSqlDatabase: available drivers: QSQLITE QODBC QPSQL
                                    
                                    SGaistS 1 Reply Last reply
                                    0
                                    • B BushyAxis793

                                      @SGaist Error below

                                      QSqlDatabase: QMYSQL driver not loaded
                                      QSqlDatabase: available drivers: QSQLITE QODBC QPSQL
                                      
                                      SGaistS Offline
                                      SGaistS Offline
                                      SGaist
                                      Lifetime Qt Champion
                                      wrote on last edited by
                                      #30

                                      Did you ensure that the plugin was put in the plugins folder ? Did you build it for both debug and release ? Did you copy both variants to the appropriate subfolder ?

                                      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
                                      1
                                      • SGaistS SGaist

                                        Did you ensure that the plugin was put in the plugins folder ? Did you build it for both debug and release ? Did you copy both variants to the appropriate subfolder ?

                                        B Offline
                                        B Offline
                                        BushyAxis793
                                        wrote on last edited by
                                        #31

                                        @SGaist I think I did.

                                        Copied files from

                                        /Users/mikolajnawrocki/Qt/6.5.0/macos/plugins/sqldrivers/build-sqldrivers/plugins/sqldrivers

                                        to

                                        /Users/mikolajnawrocki/Qt/6.5.0/macos/plugins/sqldrivers

                                        Builded debug and release

                                        8f4769b6-5d99-46a9-a979-3a9934154088-image.png

                                        SGaistS 1 Reply Last reply
                                        0
                                        • B BushyAxis793

                                          @SGaist I think I did.

                                          Copied files from

                                          /Users/mikolajnawrocki/Qt/6.5.0/macos/plugins/sqldrivers/build-sqldrivers/plugins/sqldrivers

                                          to

                                          /Users/mikolajnawrocki/Qt/6.5.0/macos/plugins/sqldrivers

                                          Builded debug and release

                                          8f4769b6-5d99-46a9-a979-3a9934154088-image.png

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

                                          As already requested, stop working in the installation tree, create the build dir completely outside of it.

                                          Start your application with the QT_DEBUG_PLUGINS environment variable set to 1 to see what is happening with the plugins.

                                          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
                                          1

                                          • Login

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