Название: Mac OS 10.8 Qt 5 MySQL plugin не видит Отправлено: santaclaus от Март 23, 2013, 22:16 Всем привет! Что то на мучался, в общем собираю плагин для работы с БД mysql!
Имею Mac OS 10.8 Qt 5.0.1 SDK сборку и MySQL Community Server 5.6.10 В общем указал qmake что собирать и откуда, в папке с исходником все собралось, по окончанию делаю make и make install, плагины появляются в куче с остальными, НО при сборке проекта их не видно, ругается что нету плагина, причем остальные из папки с плагинами показывает! Куда глянуть??? по собранному плагину инфу дает такую otool -L libqsqlmysql.dylib libqsqlmysql.dylib: libqsqlmysql.dylib (compatibility version 0.0.0, current version 0.0.0) libmysqlclient.18.dylib (compatibility version 18.0.0, current version 18.0.0) /Users/user/Qt5.0.1/5.0.1/clang_64/lib/QtSql.framework/Versions/5/QtSql (compatibility version 5.0.0, current version 5.0.1) /Users/user/Qt5.0.1/5.0.1/clang_64/lib/QtCore.framework/Versions/5/QtCore (compatibility version 5.0.0, current version 5.0.1) /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) Вот так велась сборка: /Users/user/Qt5.0.1/5.0.1/clang_64/bin/qmake -o Makefile "INLCUDEPATH+=/usr/local/mysql/include" "LIBS+=-L/usr/local/mysql/lib" mysql.pro make make install В pro файле проекта конечно же +=sql и в заголовках все для работы с БД, обращение к плагину как "QMYSQL" Остальные плагины работают верно :/ Название: Re: Mac OS 10.8 Qt 5 MySQL plugin не видит Отправлено: santaclaus от Март 26, 2013, 09:46 И так маленькое HOWTO, проблему решил!
Значит для сборки плагина mysql как писал выше скачал сам мускул, поставил его и далее: переходим в папку где у нас лежит исходный код для сборки плагина cd /Users/user/Qt5.0.1/5.0.1/Src/qtbase/src/plugins/sqldrivers/mysql/ далее выполняем qmake (я указал полный путь до моего qmake) указав расположение библиотек mySQL /Users/user/Qt5.0.1/5.0.1/clang_64/bin/qmake -spec macx-g++ -o Makefile mysql.pro теперь устанавливаем плагин make install теперь в Users/user/Qt5.0.1/5.0.1/clang_64/plugins/sqldrivers/ у нас появится 2 файла: libqsqlmysql.dylib libqsqlmysql_debug.dylib далее если начать собирать проект с использованием этих плагинов, Qt Creator будет ругаться что их нету! :( Что бы открыть ему глаза, переходим в директорию с готовыми плагинами cd /Users/user/Qt5.0.1/5.0.1/clang_64/plugins/sqldrivers/ теперь смотрим какие библиотеки использовались для сборки данного файла otool -L libqsqlmysql.dylib libqsqlmysql.dylib: libqsqlmysql.dylib (compatibility version 0.0.0, current version 0.0.0) libmysqlclient.18.dylib (compatibility version 18.0.0, current version 18.0.0) /Users/user/Qt5.0.1/5.0.1/clang_64/lib/QtSql.framework/Versions/5/QtSql (compatibility version 5.0.0, current version 5.0.1) /Users/user/Qt5.0.1/5.0.1/clang_64/lib/QtCore.framework/Versions/5/QtCore (compatibility version 5.0.0, current version 5.0.1) /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) Видно что все библиотеки прописаны с путями и вот только сама библиотека mySQL показана без путей, ЭТО И НАДО ПОПРАВИТЬ! Для этого в этом же каталоге с плагином выполняем команду: install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient_r.18.dylib libqsqlmysql.dylib Теперь проверяем как стало: otool -L libqsqlmysql.dylib libqsqlmysql.dylib: libqsqlmysql.dylib (compatibility version 0.0.0, current version 0.0.0) /usr/local/mysql/lib/libmysqlclient_r.18.dylib (compatibility version 18.0.0, current version 18.0.0) /Users/santaclaus/Qt5.0.1/5.0.1/clang_64/lib/QtSql.framework/Versions/5/QtSql (compatibility version 5.0.0, current version 5.0.1) /Users/santaclaus/Qt5.0.1/5.0.1/clang_64/lib/QtCore.framework/Versions/5/QtCore (compatibility version 5.0.0, current version 5.0.1) /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) Далее при сборке приложения на Qt Creator ни какой ругани и соединение с БД работает! |