首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

Win7 下 Qt 5.5 配置 MySQL C++ 開發環境完整步驟

     編輯:MySQL 綜合教學

Win7 下 Qt 5.5 配置 MySQL C++ 開發環境完整步驟

Qt 5.5 (MinGW 4.9.2 32-bit) 連接 MySQL 需要 MySQL C 客戶端庫。本文記錄下載庫文件、部署到 Qt 目錄、.pro 配置、qmake 執行、頭文件引用全流程,避開「驅動未加載」「符號找不到」常見坑。

一、準備 MySQL 客戶端庫

  • 下載地址:https://files.cnblogs.com/files/xiaobo-Linux/mysql.zip(包含 libmysql.dll、libmysql.lib)
  • 或從 MySQL 官方安裝目錄複製:C:\Program Files\MySQL\MySQL Server 5.6\lib\libmysql.dll、.lib

二、部署到 Qt 編譯器目錄


# 假設 Qt 安裝路徑
C:\Qt\Qt5.5.0\5.5\mingw492_32\bin
# 將 libmysql.dll、libmysql.lib 直接複製到此目錄

關鍵點:bin 目錄在運行時被 PATH 搜索,編譯時 .lib 供鏈接器使用,雙雙就位才能編譯通過且運行不報 Cannot load library libmysql.dll。

三、專案文件配置


# .pro 文件
QT       += core gui sql
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = MySqlDemo
TEMPLATE = app

SOURCES += main.cpp \
           mainwindow.cpp

HEADERS  += mainwindow.h

# 關鍵:引入 SQL 模塊
QT += sql

保存後:Build → Run qmake 重新生成 Makefile,使 QT += sql 生效。

四、代碼中引用 MySQL 驅動


#include 
#include 
#include 
#include 
#include 

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    // 加載 QMYSQL 驅動
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("127.0.0.1");
    db.setPort(3306);
    db.setDatabaseName("test_db");
    db.setUserName("root");
    db.setPassword("password");

    if (!db.open()) {
        qDebug() << "Connect failed:" << db.lastError().text();
        return -1;
    }
    qDebug() << "Connect success!";

    // 測試查詢
    QSqlQuery query;
    if (query.exec("SELECT VERSION()")) {
        while (query.next()) {
            qDebug() << "MySQL Version:" << query.value(0).toString();
        }
    } else {
        qDebug() << "Query failed:" << query.lastError().text();
    }

    db.close();
    return 0;
}

五、常見報錯與解決

報錯現象原因解決
QSqlDatabase: QMYSQL driver not loaded找不到 libmysql.dll確認 libmysql.dll 在 Qt bin 目錄或系統 PATH 中
Cannot load library libmysql.dll: The specified module could not be foundMinGW 編譯的 Qt 需 MinGW 版 libmysql,不能用 MSVC 版下載 MinGW 專用庫或自行用 MinGW 編譯 MySQL Connector/C
Driver not loaded 但 DLL 存在依賴項缺失(如 libgcc_s_dw2-1.dll、libstdc++-6.dll、libwinpthread-1.dll)將 Qt bin 目錄下所有 DLL 複製到應用輸出目錄,或安裝 Visual C++ Redistributable
編譯報 undefined reference to `mysql_init@4'未鏈接 libmysql.lib確認 .lib 在 bin 目錄,或在 .pro 添加 LIBS += -L$$PWD/../lib -lmysql

六、驗證插件是否編譯進 Qt


# 查看 Qt 安裝目錄下的插件
dir C:\Qt\Qt5.5.0\5.5\mingw492_32\plugins\sqldrivers\
# 應存在 qsqlmysql.dll (釋出版) 和 qsqlmysqld.dll (調試版)

若無,需自行編譯 Qt MySQL 插件:


cd C:\Qt\Qt5.5.0\5.5\Src\qtbase\src\plugins\sqldrivers\mysql
qmake "INCLUDEPATH+=C:/Program Files/MySQL/MySQL Server 5.6/include" "LIBS+=C:/Program Files/MySQL/MySQL Server 5.6/lib/libmysql.lib" mysql.pro
mingw32-make
mingw32-make install

七、總結清單

  1. MinGW 版 libmysql.dll/.lib → Qt bin 目錄。
  2. .pro 添加 QT += sql → Run qmake。
  3. 代碼用 QSqlDatabase::addDatabase("QMYSQL")。
  4. 運行時確保 libmysql.dll 可被找到(同目錄或 PATH)。
  5. 調試版需 qsqlmysqld.dll,釋出版需 qsqlmysql.dll。

配置一次,終身受用。Qt + MySQL 是輕量級桌面/嵌入式應用的經典組合,掌握環境搭建是 C++ 開發者必備基本功。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved