Разве вы не должны сначала скомпилировать статическую версию Qt, а затем скомпилировать плагин OCI?Вы также можете сделать это за один шаг, установив соответствующий переключатель конфигурации -qt-sql-oci и добавив необходимые каталоги include и lib.
Потому что в вашем сценарии qmake вы использовали для компиляции OCIплагин?Статическая версия, которую вы собираетесь использовать для своего приложения, еще не создана.Похоже, ваш плагин OCI был собран с одной версией Qt, тогда как ваше приложение использует другую (статическую) версию Qt.Это несоответствие, скорее всего, является причиной вашей проблемы.
Кроме того, при использовании статических плагинов вы должны использовать макрос Q_IMPORT_PLUGIN
.Смотрите здесь для получения более подробной информации http://doc.qt.io/archives/qt-4.7/plugins-howto.html#static-plugins
По запросу, здесь пошаговая инструкция, как это должно работать:
Извлечение исходников qt для вашей статической версии Qt,скажем в C: \ Qt \ 4.7.0-static
Измените qmake.conf так, как вы уже сделали.
В вашем визуальномизмените каталог на C: \ Qt \ 4.7.0-static и сделайте это:
configure -static -release -qt-sql-oci -IC: \ oracle \ oci \ include -L c: \ oracle \ oci \ lib \ msvc
Сделайте подпрограмму nmake
Затем измените версию qt, которую вы используете для своего приложенияна только что скомпилированный и выполните «Run qmake» и «Rebuild project» из меню сборки в QtCreator (поскольку вы установили Qt SDK, я предполагаю, что вы его используете)
Надеюсь, теперь это работает - использование ключа -qt-sql-oci вызывает статическую сборку драйвера oci.