Сборка OCI драйвера из имеющихся исходников. |
Здравствуйте, гость ( Вход | Регистрация )
Сборка OCI драйвера из имеющихся исходников. |
Гость_PavelDart_* |
21.11.2009, 23:33
Сообщение
#1
|
Гости |
Доброго времени суток.
Очень надо собрать драйвера для оракла на qt 4.3.4. Наткнулся на исходники драйвера oci (здесь) Скопировал полученнные файлы(Makefile, qsql_oracle.cpp, qsql_oracle.h, QSqlOracleDriverPlugin.cpp, QSqlOracleDriverPlugin.h, qsqloracleqt4.pro) в %QTPATH%\src\plugins\sqldrivers\oci\ далее: qmake qsqloracleqt4.pro make qsql_oracle.cpp:35:23: qsqlerror.h: No such file or directory qsql_oracle.cpp:36:23: qsqlfield.h: No such file or directory qsql_oracle.cpp:37:23: qsqlindex.h: No such file or directory qsql_oracle.cpp:38:24: qsqlrecord.h: No such file or directory qsql_oracle.cpp:39:23: qsqlquery.h: No such file or directory qsql_oracle.cpp:47: error: `struct QSqlError::ErrorType' has not been declared qsql_oracle.cpp:48: error: ISO C++ forbids declaration of `type' with no type qsql_oracle.cpp: In function `QSqlError qMakeError(const QString&, int, QOracleDriver*)': qsql_oracle.cpp:48: error: return type `struct QSqlError' is incomplete qsql_oracle.cpp:51: error: invalid use of undefined type `struct QSqlError' ../../../../include/QtSql/../../src/sql/kernel/qsqldatabase.h:57: error: forward declaration of `struct QSqlError' qsql_oracle.cpp: In member function `bool QOracleResult::processResults()': qsql_oracle.cpp:479: error: incomplete type `QSqlError' used in nested name specifier qsql_oracle.cpp: In member function `virtual QSqlRecord QOracleResult::record() const': qsql_oracle.cpp:485: error: return type `struct QSqlRecord' is incomplete qsql_oracle.cpp:487: error: aggregate `QSqlRecord info' has incomplete type and cannot be defined qsql_oracle.cpp:491: error: invalid use of undefined type `struct QSqlField' ../../../../include/QtSql/../../src/sql/kernel/qsqldriver.h:62: error: forward declaration of `struct QSqlField' qsql_oracle.cpp:493: confused by earlier errors, bailing out mingw32-make[1]: *** [tmp/obj/debug_shared/qsql_oracle.o] Error 1 mingw32-make[1]: Leaving directory `E:/Qt/4.3.4/src/plugins/sqldrivers/oci' mingw32-make: *** [debug] Error 2 make debug qsql_oracle.cpp:35:23: qsqlerror.h: No such file or directory qsql_oracle.cpp:36:23: qsqlfield.h: No such file or directory qsql_oracle.cpp:37:23: qsqlindex.h: No such file or directory qsql_oracle.cpp:38:24: qsqlrecord.h: No such file or directory qsql_oracle.cpp:39:23: qsqlquery.h: No such file or directory qsql_oracle.cpp:47: error: `struct QSqlError::ErrorType' has not been declared qsql_oracle.cpp:48: error: ISO C++ forbids declaration of `type' with no type qsql_oracle.cpp: In function `QSqlError qMakeError(const QString&, int, QOracleDriver*)': qsql_oracle.cpp:48: error: return type `struct QSqlError' is incomplete qsql_oracle.cpp:51: error: invalid use of undefined type `struct QSqlError' ../../../../include/QtSql/../../src/sql/kernel/qsqldatabase.h:57: error: forward declaration of `struct QSqlError' qsql_oracle.cpp: In member function `bool QOracleResult::processResults()': qsql_oracle.cpp:479: error: incomplete type `QSqlError' used in nested name specifier qsql_oracle.cpp: In member function `virtual QSqlRecord QOracleResult::record() const': qsql_oracle.cpp:485: error: return type `struct QSqlRecord' is incomplete qsql_oracle.cpp:487: error: aggregate `QSqlRecord info' has incomplete type and cannot be defined qsql_oracle.cpp:491: error: invalid use of undefined type `struct QSqlField' ../../../../include/QtSql/../../src/sql/kernel/qsqldriver.h:62: error: forward declaration of `struct QSqlField' qsql_oracle.cpp:493: confused by earlier errors, bailing out mingw32-make[1]: *** [tmp/obj/debug_shared/qsql_oracle.o] Error 1 Получается неполная подборка исходников? |
|
|
Rocky |
21.11.2009, 23:59
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
А сами QT-шные хидеры есть вообще? %QTPATH%\include\...
Имею в виду qsqlerror.h qsqlfield.h и пр Сообщение отредактировал Rocky - 21.11.2009, 23:59 |
|
|
Litkevich Yuriy |
21.11.2009, 23:59
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Гость_PavelDart_* |
22.11.2009, 0:05
Сообщение
#4
|
Гости |
|
|
|
Гость_PavelDart_* |
22.11.2009, 0:14
Сообщение
#5
|
Гости |
Скопировал файлы, которые не обнаруживались.
Сейчас имею:
-lclntsh - прописан в про-файле. Не разобрался что за зверь - решил оставить.
|
|
|
Гость_PavelDart_* |
22.11.2009, 0:26
Сообщение
#6
|
Гости |
Немного поэкспериментировал - убрал -lclntsh
Получилось:
Ключи в строчке LIBS как работают? что описывают? |
|
|
Litkevich Yuriy |
22.11.2009, 2:48
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Гость_PavelDart_* |
22.11.2009, 8:02
Сообщение
#8
|
Гости |
|
|
|
Гость_PavelDart_* |
22.11.2009, 8:34
Сообщение
#9
|
Гости |
Проделал вот такой фокус:
1.В pro-файле прописал пути до qt-шных lib и include 2.переименовал имеющиеся в lib libQtGui4.a -> libQtGuid4.a, libQtCore4.a ->libQtCored4.a линкер ругаться на отсутствие файлов соответственно перестал, но выдал вот такую прорву: Раскрывающийся текст
Когда создавал драйвера для мускуля тоже спотыкался на создании a-файла, с подобным выводом, этими же ошибками. |
|
|
Litkevich Yuriy |
22.11.2009, 14:04
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
PavelDart Ещё раз и по порядку.qsqlerror{h.cpp} это файлы модуля QtSQL их ненужно ни откуда и никуда копировать! Если ты их откуда-то куда-то копируешь, то ты получаешь не Qt, а собственную версию библиотеки. А с собственной версией разбирайся сам. 1.В pro-файле прописал пути до qt-шных lib и include пути к Qt модулям прописывать не надо, надо подключить только модуль2.переименовал имеющиеся в lib libQtGui4.a -> libQtGuid4.a, libQtCore4.a ->libQtCored4.a за каким чёртом?
|
|
|
Текстовая версия | Сейчас: 4.12.2024, 1:34 |