Qt中Mac編譯MySQL驅動
阿新 • • 發佈:2021-10-25
準備工作
- mysql安裝包
- Qt安裝時選擇了Source
編譯過程
- 下載並解壓MySQL安裝包。
- 修改mysql.pro檔案(Qt/5.12.10/Src/qtbase/src/plugins/sqldrivers/mysql/mysql.pro)。
TARGET = qsqlmysql HEADERS += $$PWD/qsql_mysql_p.h SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp #QMAKE_USE += mysql ## 這個位置註釋掉 # 新增下面一個依賴與一個庫 INCLUDEPATH+=/Users/rey/.sbin/mysql-8.0.26-macos11-x86_64/include LIBS += -L//Users/rey/.sbin/mysql-8.0.26-macos11-x86_64/lib -lmysqlclient OTHER_FILES += mysql.json PLUGIN_CLASS_NAME = QMYSQLDriverPlugin include(../qsqldriverbase.pri)
在編譯的過程中可能會報錯提示找不到qtsqldrivers-config.pri;
直接將qsqldriverbase.pri複製一份名稱為 qtsqldrivers-config.pri即可。
編譯: qmake ./mysql.pro
新增驅動
make && make install
會自動新增驅動到編譯器的sqldrivers目錄中。
找到新編譯的驅動,使用
otool -L libmysqlclient.dylib
檢測一下依賴
正常會找不到庫。@rpath/libmysqlclient.21.dylib
將mysql 安裝包中的這個檔案建立一個軟連線放到 clang_x64/lib/目錄即可。
sudo ln -s /mysql/lib/libmysqlclient.dylib xxxx/clang_64/lib/libmysqlclient.21.dylib