crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> ODBC Qt статическая сборка Driver Not Loaded, ODBC Qt статическая сборка Driver Not Loaded
Гость_Гость_Дмитрий_*_*
сообщение 28.12.2011, 8:47
Сообщение #1





Гости








    


Всем трям... Собственно проблемма с драйверами 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");
m_Connect.setDatabaseName("DRIVER={SQL Server Native Client 10.0};SERVER=INF-1;DATABASE=xxx;");
m_Connect.setUserName("xxx");
m_Connect.setPassword("xxx");
if (!m_Connect.open())
    {
        QMessageBox msgBox;
        msgBox.setText(tr("Ошибка подключения к базе данных."));
        msgBox.setInformativeText(tr(m_Connect.lastError().databaseText().toUtf8().data()));
        msgBox.setStandardButtons(QMessageBox::Ok);
        msgBox.exec();
        qDebug()<<tr(m_Connect.lastError().databaseText().toUtf8().data());
        qDebug()<<QSqlDatabase::drivers();
    }

в дебаг пишет
QSqlDatabase: ODBC3 driver not loaded
QSqlDatabase: available drivers: QSQLITE
"Driver not loaded"
("QSQLITE")


В чем может быть проблемма?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_Дмитрий_*_*
сообщение 28.12.2011, 12:42
Сообщение #2





Гости








    


Проблемма решена

так перекомпилил 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
TARGET = ******
TEMPLATE = app
SOURCES += *****
HEADERS  += ******
FORMS += ******
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.12.2024, 1:48