windows10下QT6.4.3编译qsqlmysql Debug+Release动态库

QT6版本以上没有mysql的动态库,需要自己编译,网上找了好多教程都没有成功编译,后面结合多个教程慢慢倒腾 终于成功了,具体操作步骤如下:

1,首先下载安装QT的时候 需要安装它的源码

2,安装完成后需要设置cmake ninja环境变量

windows10下QT6.4.3编译qsqlmysql Debug+Release动态库_第1张图片

3,CD进入你QT的mysql目录 我的是:D:\Qt\6.4.3\msvc2019_64\plugins\sqldrivers

cd /d D:\Qt\6.4.3\Src\qtbase\src\plugins\sqldrivers

4,调用 你VS2019或者2022的vcvars64.bat

windows10下QT6.4.3编译qsqlmysql Debug+Release动态库_第2张图片

call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"

结果如下

**********************************************************************
** Visual Studio 2022 Developer Command Prompt v17.5.2
** Copyright (c) 2022 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

 5,调用cmake ninjia命令进行编译mysql debug动态库

call D:\Qt\6.4.3\msvc2019_64\bin\qt-cmake.bat -G "Ninja" . -DMySQL_INCLUDE_DIR="C:\Program Files\MySQL\MySQL Server 8.0\include" -DMySQL_LIBRARY="C:\Program Files\MySQL\MySQL Server 8.0\lib\libmysql.lib" -DCMAKE_INSTALL_PREFIX="D:\Qt\6.4.3\msvc2019_64"

 其中-DMySQL_INCLUDE_DIR="C:\Program Files\MySQL\MySQL Server 8.0\include"你安装的MYSQL的路径

-DMySQL_LIBRARY="C:\Program Files\MySQL\MySQL Server 8.0\lib\libmysql.lib"

-DCMAKE_INSTALL_PREFIX="D:\Qt\6.4.3\msvc2019_64"  你QT MSVC2019-64路径

结果如下:

D:\Qt\6.4.3\Src\qtbase\src\plugins\sqldrivers>call D:\Qt\6.4.3\msvc2019_64\bin\qt-cmake.bat -G "Ninja" . -DMySQL_INCLUDE_DIR="C:\Program Files\MySQL\MySQL Server 8.0\include" -DMySQL_LIBRARY="C:\Program Files\MySQL\MySQL Server 8.0\lib\libmysql.lib" -DCMAKE_INSTALL_PREFIX="D:\Qt\6.4.3\msvc2019_64"
-- The CXX compiler identification is MSVC 19.35.32215.0
-- The C compiler identification is MSVC 19.35.32215.0
-- The ASM compiler identification is MSVC
-- Found assembler: C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.35.32215/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/Enterprise/VC/Tools/MSVC/14.35.32215/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/Enterprise/VC/Tools/MSVC/14.35.32215/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

-- Configuration summary shown below. It has also been written to D:/Qt/6.4.3/Src/qtbase/src/plugins/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 ................................... yes
  PostgreSQL ............................. no
  SQLite ................................. yes
    Using system provided SQLite ......... no


-- Configuring done
-- Generating done
-- Build files have been written to: D:/Qt/6.4.3/Src/qtbase/src/plugins/sqldrivers

5,输入ninja指令:

ninja

结果:

6,输入ninja install

ninja install

结果:

windows10下QT6.4.3编译qsqlmysql Debug+Release动态库_第3张图片

这样就编译完成了debug的动态库,其路径在 D:\Qt\6.4.3\msvc2019_64\plugins\sqldrivers

windows10下QT6.4.3编译qsqlmysql Debug+Release动态库_第4张图片

7,继续编译release的mysql库

call D:\Qt\6.4.3\msvc2019_64\bin\qt-cmake.bat -G "Ninja" . -DMySQL_INCLUDE_DIR="C:\Program Files\MySQL\MySQL Server 8.0\include" -DMySQL_LIBRARY="C:\Program Files\MySQL\MySQL Server 8.0\lib\libmysql.lib" -DCMAKE_INSTALL_PREFIX="D:\Qt\6.4.3\msvc2019_64" -DCMAKE_BUILD_TYPE=Release

和debug的不同之处在于 最后面加了一句 -DCMAKE_BUILD_TYPE=Release

结果如下:

继续输入ninja指令

ninja

 

继续输入 ninja install

windows10下QT6.4.3编译qsqlmysql Debug+Release动态库_第5张图片 最终生成的DLL全部在D:\Qt\6.4.3\msvc2019_64\plugins\sqldrivers路径下

windows10下QT6.4.3编译qsqlmysql Debug+Release动态库_第6张图片

8,用QT写一个简单的测试demo,调用OK

 windows10下QT6.4.3编译qsqlmysql Debug+Release动态库_第7张图片

你可能感兴趣的:(C++学习笔记,QT上位机与机器视觉,qt,开发语言,mysql)