簡體   English   中英

未在Qt5.4 OS X Yosemite上加載Mysql驅動程序

[英]Mysql Driver not loaded on Qt5.4 OS X Yosemite

我剛剛在我的Mac上安裝了Yosemite。 安裝了Xcode,Qt5.4和mysql CE

我無法讓我的應用程序工作,我總是得到

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

我檢查了dylib:

otool -L /Users/myself/Qt/5.4/clang_64/plugins/sqldrivers/libqsqlmysql.dylib

這讓我回報:

libqsqlmysql.dylib (compatibility version 0.0.0, current version 0.0.0)
    /opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib (compatibility version 18.0.0, current version 18.0.0)
    /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
    /Users/myself/Qt/5.3/clang_64/lib/QtSql.framework/Versions/5/QtSql (compatibility version 5.3.0, current version 5.3.2)
    /Users/myself/Qt/5.3/clang_64/lib/QtCore.framework/Versions/5/QtCore (compatibility version 5.3.0, current version 5.3.2)
    /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 56.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)

我沒有/opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib文件,事實上我沒有在我的Yosemite mac上有/ opt文件夾。 這可以嗎?

我嘗試自己重新創建/ opt / local / lib / mysql55 / mysql /文件夾並在其中添加了libmysqlclient.18.dylib,但我仍然遇到同樣的問題。

我現在完全不知道如何解決這個問題,我做錯了什么? 這是Yosemite vs MySQL的錯誤嗎?

我認為我的.pro文件和源代碼都可以,因為這曾經在我以前的Mavericks配置下運行。

我知道這是一個老問題,但我想我會分享我找到的解決方案(對於那些問題沒有通過全新安裝解決的人)。

在你的機器上搜索libmysqlclient.18.dylib ,找到實際存在此文件副本的位置(我的位於/usr/local/Cellar/mysql56/5.6.32/lib/ )。 然后使用install_name_tool命令與-change標志指向你libqmysql.dylib它。 以下命令使用示例:

install_name_tool -change /incorrect/path/to/libmysqlclient.18.dylib /correct/path/to/libmysqlclient.18.dylib /path/to/libqsqlmysql.dylib

確保為調試版本libqsqlmysql_debug.dylib運行相同的命令,以便您的調試版本也指向正確的lib。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM