пятница, 6 ноября 2009 г.

QSQLITE driver not loaded

В посте про отладку плагинов я писал, что собранный у меня Qt Creator стартует с ошибками
QSqlDatabase: QSQLITE driver not loaded.

Все оказалось просто- я собрал Qt с отключенной поддержкой SQL (сэкономив примерно 2 часа на компиляции [UPD: на примерах и демонстрашках]). Ну что ж, надо переконфигурировать и пересобрать библиотеку.

Перенастраиваем Qt из MS Visual Command Prompt:

cd c:\Qt\4.6.0-beta1\
configure -qt-sql-sqlite -no-qt3support -no-opengl -platform win32-msvc2008 -no-libtiff -no-dbus -no-phonon -no-phonon-backend -no-webkit

UPD: используем вот такой configure:

configure -nomake examples -nomake demos -qt-sql-sqlite -no-qt3support -no-opengl -platform win32-msvc2008 -no-dbus -no-phonon -no-phonon-backend

Я убрал отмену генерации webkit и libtiff, которые используются в Qt Creator. Для конфигурирования установленной Qt это не важно, а вот если собирать ее из исходников, то разница будет заметна. Также, я отменил сборку примеров и демонстрашек, что сокращает время компиляции часа на три.

Затем пересобираем:

nmake

Отмечу, что nmake занял почти 4 часа на моей машине.
UPD: если использовать -nomake examples -nomake demos, то на сборку ушло 2 часа.

Добавляем пересобранную Qt в Qt Creator (Options -> Qt4), и делаем ее default. Все, можно пересобирать Qt Creator.

2 комментария:

  1. >>Все оказалось просто- я собрал Qt с отключенной поддержкой SQL

    На самом деле поддержка SQL осталась, просто вы не собрали драйвера для СУБД. Для проверки попробуйте собрать заново без SQL, но библиотека QtSql будет собрана. Очень интересно, как вы оценили, что без SQL вы сэкономили 2 часа.

    >> QSqlDatabase: QSQLITE driver not loaded.

    В этом случае необходимо собрать лишь драйвер для SQLite, что максимум займет пару минут, а не весь Qt. для этого необходимо в папке %QT_PATH%/src/plugins/sqldrivers/ выбрать нужный драйвер, возможно подправить pro файл для удовлетворения посторонних инклюдов и либ => qmake, nmake

    >> Отмечу, что nmake занял почти 4 часа на моей машине.

    Убрав из главного pro файла примеры и демо значительно сокращаем время компиляции.
    Используем jom на многоядерных системах и радуемся свежесобранному Qt менее чем за час)

    ОтветитьУдалить
  2. >> Очень интересно, как вы оценили, что без SQL вы сэкономили 2 часа.

    Собирал ранше на той же машине с ключом -no-sql-sqlite, из-за чего и весь сыр-бор.

    >> Убрав из главного pro файла примеры и демо значительно сокращаем время компиляции.
    Используем jom на многоядерных системах и радуемся свежесобранному Qt менее чем за час)

    Да ктож спорит. :) Вот тут пример такого .pro файла и батников:
    http://www.learnqt.com/category/how-to-learn-qt/qt-install/

    Нашел я этот пост, правда, когда уже все собралось...

    ОтветитьУдалить