2015-03-04 1 views
3

Я только что сделал новую установку Yosemite на моем mac. установлен Xcode, Qt5.4and MySQL CEMysql Драйвер не загружен на Qt5.4 OS X Yosemite

Я не в состоянии сделать мое приложение работать, я всегда получаю

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 файл, на самом деле у меня нет события с папкой/opt на моем Mac Yosemite. Это может быть?

Я попытался воссоздать/opt/local/lib/mysql55/mysql/папку самостоятельно и добавил libmysqlclient.18.dylib, но я все еще получаю ту же проблему.

Теперь я совершенно не знаю, как это решить, неужели я что-то делаю неправильно? это ошибка Yosemite против MySQL?

Я думаю, что мой .pro-файл и источники в порядке, поскольку это использовалось для работы в моей предыдущей конфигурации Mavericks.

+0

Вы когда-нибудь получали его? – 123

+0

Да, я просто удалил все, что связано с Qt, и сделал новую переустановку, разработанную из коробки с обновленной версией, никогда не знал, в чем проблема. –

ответ

2

Я знаю, что это старый вопрос, но я думал, что разделю найденное мной решение (для тех, чья проблема не решена новой установкой).

Найдите свою машину для 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, а также.

+0

спасибо, что выкопали это с ответом –

+0

wooOo !!!, эта работа отлично –