Название: ODBC Qt статическая сборка Driver Not Loaded Отправлено: interv от Декабрь 28, 2011, 08:02 Всем трям... Собственно проблемма с драйверами ODBC такая:
скомпилил Qt со статической линковкой configure -debug-and-release -opensource -static -qt-libpng -qt-libtiff -qt-libjpeg -qt-sql-odbc -plugin-sql-odbc -platform win32-g++ в папке %QTDIR%\plugins\sqldrivers\ появились файлики libqsqlodbc.a, libqsqlodbcd.a, qsqlodbc.prl, qsqlodbcd.prl в проекте QT += sql CONFIG += static Код: m_Connect = QSqlDatabase::addDatabase("ODBC3"); Код: QSqlDatabase: ODBC3 driver not loaded В чем может быть проблемма? ЗЫ: Компилю из QtCreator, обнаружил что у него еесть своя папка QtCreator\bin\sqldrivers\ в которой лежит dll qsqlite4.dll, но т.к. у меня статическая линковка то dll драйверов соответственно нет ) непойму чего делать... Название: Re: ODBC Qt статическая сборка Driver Not Loaded Отправлено: KrupaKarlo от Декабрь 28, 2011, 11:16 код .pro покажи скорее всего подключены криво драйвера
когда статик плагины подключаешь надо добавлять секцию QTPLUGIN += плагин а в коде делать Код: #include <QtPlugin> Название: Re: ODBC Qt статическая сборка Driver Not Loaded Отправлено: interv от Декабрь 28, 2011, 12:06 не плагин не подключен, когда собираеш Qt статичиски он так и пишет что плагины статически могут быть не скомпилены, т.е.
configure -debug-and-release -opensource -static -qt-libpng -qt-libtiff -qt-libjpeg -qt-sql-odbc -platform win32-g++ было бы правельнее сказать кстати с таким подключением плагинов касяк выходит на этапе сборки... щас не скажу, но ошибок немерено вылетает, вроде не находит там чегото Название: Re: ODBC Qt статическая сборка Driver Not Loaded Отправлено: KrupaKarlo от Декабрь 28, 2011, 12:09 У тебя драйвер это статик плагин. Вот что справка QT говорит:
Цитировать To link statically against those plugins, you need to use the Q_IMPORT_PLUGIN() macro in your application and you need to add the required plugins to your build using QTPLUGIN. For example, in your main.cpp: #include <QApplication> #include <QtPlugin> Q_IMPORT_PLUGIN(qjpeg) Q_IMPORT_PLUGIN(qgif) Q_IMPORT_PLUGIN(qkrcodecs) int main(int argc, char *argv[]) { QApplication app(argc, argv); ... return app.exec(); } QTPLUGIN += qjpeg \ qgif \ qkrcodecs Название: Re: ODBC Qt статическая сборка Driver Not Loaded Отправлено: interv от Декабрь 28, 2011, 12:18 так перекомпилил Qt
configure -debug-and-release -opensource -static -qt-libpng -qt-libtiff -qt-libjpeg -qt-sql-odbc -platform win32-g++ т.е. без плагина и в строчке была ошибка Цитировать m_Connect = QSqlDatabase::addDatabase("QODBC3"); все заработалоКароче по шагам: 1. Качаем MinGW-gcc440_1.zip qt-everywhere-opensource-src-4.7.4.zip qt-creator-win-opensource-2.3.1.exe 2.Создать переменные среды MINGW = D:\Qt\4.7.4\mingw QTDIR = D:\Qt\4.7.4 Добавить в Path = %QTDIR%\bin;%MINGW%\bin 3.Создать папку %QTDIR%; Скопировать туда исходники 4.Скопировать MINGW в %QTDIR% 5.Скопировать JOM в X:\Qt 6. Запустить уонфигурацию с папки %QTDIR% (Конфигурация может отличаться) configure -debug-and-release -opensource -static -qt-libpng -qt-libtiff -qt-libjpeg -qt-sql-odbc -platform win32-g++ курим минуть 10-20 7. Запустить jom ..\jom\jom.exe -j 4 курим часика 3 8.Ставим qt-creator 9.В профилях размещения qmake указываем путь (у меня было d:\qt\4.7.4\qmake\qmake.exe) наслаждаемся... ДА! кстати как я и сказал плагины указывать при статической линковке не надо... Код: QT += core gui sql Название: Re: ODBC Qt статическая сборка Driver Not Loaded Отправлено: KrupaKarlo от Декабрь 28, 2011, 12:37 я писал из опыта работы с обычным Qt, так что сори :)
Название: Re: ODBC Qt статическая сборка Driver Not Loaded Отправлено: interv от Декабрь 28, 2011, 12:40 Новичкам свойственно ошибаться ::)
Название: Re: ODBC Qt статическая сборка Driver Not Loaded Отправлено: KrupaKarlo от Декабрь 28, 2011, 12:56 :D Не ошибается тока тот - кто ничего не делает.
Название: Re: ODBC Qt статическая сборка Driver Not Loaded Отправлено: interv от Декабрь 29, 2011, 07:50 Кстати кому интересно - вывод доступлных драйверов odbc для windows:
Код: #include <QLibrary> |