crossplatform.ru

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

> Сборка 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

Получается неполная подборка исходников?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Гость_PavelDart_*
сообщение 22.11.2009, 8:34
Сообщение #2





Гости








    


Проделал вот такой фокус:
1.В pro-файле прописал пути до qt-шных lib и include
2.переименовал имеющиеся в lib libQtGui4.a -> libQtGuid4.a, libQtCore4.a ->libQtCored4.a

линкер ругаться на отсутствие файлов соответственно перестал, но выдал вот такую прорву:
Раскрывающийся текст

Creating library file: debug\libqsqloracleqt4.a
tmp/obj/debug_shared/qsql_oracle.o(.text+0x89b): In function `ZN13QOracleResult7cleanupEv':
E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:125: undefined reference to `OCIHandleFree'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x901): In function `ZN13QOracleDriver14cleanupSessionEv':
E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:137: undefined reference to `OCIHandleFree'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x92a):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:142: undefined reference to `OCIHandleFree'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x966): In function `ZN13QOracleDriver7cleanupEv':
E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:152: undefined reference to `OCIHandleFree'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x98f):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:157: undefined reference to `OCIHandleFree'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x9b8):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:162: more undefined references to `OCIHandleFree' follow
tmp/obj/debug_shared/qsql_oracle.o(.text+0xa19): In function `ZN13QOracleResult5fetchEi':
E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:176: undefined reference to `OCIStmtFetch2'
tmp/obj/debug_shared/qsql_oracle.o(.text+0xa8b): In function `ZN13QOracleResult10fetchFirstEv':
E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:191: undefined reference to `OCIStmtFetch2'
tmp/obj/debug_shared/qsql_oracle.o(.text+0xb07): In function `ZN13QOracleResult9fetchLastEv':
E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:205: undefined reference to `OCIStmtFetch2'
tmp/obj/debug_shared/qsql_oracle.o(.text+0xbbe): In function `ZN13QOracleResult13getCurrentRowEv':
E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:219: undefined reference to `OCIAttrGet'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x12df): In function `ZN13QOracleResult4dataEi':
E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:265: undefined reference to `OCINumberToReal'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x2479): In function `ZN13QOracleResult5resetERK7QString':
E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:391: undefined reference to `OCIHandleAlloc'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x256e):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:397: undefined reference to `OCIAttrSet'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x274b):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:404: undefined reference to `OCIStmtPrepare'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x298e): In function `ZN13QOracleResult15numRowsAffectedEv':
E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:441: undefined reference to `OCIAttrGet'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x2df9): In function `ZN13QOracleResult4execEv':
E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:503: undefined reference to `OCIAttrGet'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x3208): In function `ZN13QOracleResult22executeSelectStatementEv':
E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:539: undefined reference to `OCIStmtExecute'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x32f7):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:545: undefined reference to `OCIAttrGet'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x37e6):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:567: undefined reference to `OCIParamGet'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x3855):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:569: undefined reference to `OCIAttrGet'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x3968):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:577: undefined reference to `OCIAttrGet'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x3ad9):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:587: undefined reference to `OCIAttrGet'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x3c0b):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:598: undefined reference to `OCIAttrGet'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x3c79):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:605: undefined reference to `OCIAttrGet'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x40d8): In function `ZN13QOracleResult9defineRowEv':
E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:640: undefined reference to `OCIDefineByPos'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x4391): In function `ZN13QOracleResult25executeNonselectStatementEv':
E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:657: undefined reference to `OCIStmtExecute'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x48e2): In function `ZN13QOracleDriver4initEv':
E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:693: undefined reference to `OCIEnvCreate'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x49d0):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:699: undefined reference to `OCIHandleAlloc'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x4bad):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:703: undefined reference to `OCIHandleAlloc'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x5556): In function `ZN13QOracleDriver4openERK7QStringS2_S2_S2_iS2_':
E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:777: undefined reference to `OCIServerAttach'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x55fb):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:779: undefined reference to `OCIHandleAlloc'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x56f3):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:785: undefined reference to `OCIAttrSet'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x57e1):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:791: undefined reference to `OCIHandleAlloc'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x5914):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:797: undefined reference to `OCIAttrSet'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x5aaf):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:803: undefined reference to `OCIAttrSet'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x5c07):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:809: undefined reference to `OCISessionBegin'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x5cff):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:815: undefined reference to `OCIAttrSet'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x638a): In function `ZN13QOracleDriver16beginTransactionEv':
E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:887: undefined reference to `OCIHandleAlloc'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x649d):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:894: undefined reference to `OCIAttrSet'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x6594):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:901: undefined reference to `OCITransStart'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x6883): In function `ZN13QOracleDriver17commitTransactionEv':
E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:928: undefined reference to `OCITransCommit'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x69dd): In function `ZN13QOracleDriver19rollbackTransactionEv':
E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:953: undefined reference to `OCITransRollback'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x9ac4): In function `ZNK13QOracleDriver6isOpenEv':
E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:1148: undefined reference to `OCIAttrGet'
tmp/obj/debug_shared/qsql_oracle.o(.text+0x9dd5): In function `ZN13QOracleDriver12processErrorEiPci7QString':
E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:1168: undefined reference to `OCIErrorGet'
tmp/obj/debug_shared/qsql_oracle.o(.text+0xa29e):E:/Qt/4.3.4/src/plugins/sqldrivers/oci/qsql_oracle.cpp:1182: undefined reference to `OCIErrorGet'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug\qsqloracleqt4.dll] Error 1
mingw32-make[1]: Leaving directory `E:/Qt/4.3.4/src/plugins/sqldrivers/oci'
mingw32-make: *** [debug] Error 2


Когда создавал драйвера для мускуля тоже спотыкался на создании a-файла, с подобным выводом, этими же ошибками.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- PavelDart   Сборка OCI драйвера из имеющихся исходников.   21.11.2009, 23:33
- - Rocky   А сами QT-шные хидеры есть вообще? %QTPATH%\i...   21.11.2009, 23:59
|- - PavelDart   Цитата(Rocky @ 21.11.2009, 23:59) А сами ...   22.11.2009, 0:05
- - Litkevich Yuriy   Цитата(Гость_PavelDart_* @ 22.11.2009, 2...   21.11.2009, 23:59
- - PavelDart   Скопировал файлы, которые не обнаруживались. Сейча...   22.11.2009, 0:14
- - PavelDart   Немного поэкспериментировал - убрал -lclntsh Получ...   22.11.2009, 0:26
- - Litkevich Yuriy   Цитата(Гость_PavelDart_* @ 22.11.2009, 3...   22.11.2009, 2:48
|- - PavelDart   Цитата(Litkevich Yuriy @ 22.11.2009, 2:48...   22.11.2009, 8:02
- - PavelDart   Проделал вот такой фокус: 1.В pro-файле прописал п...   22.11.2009, 8:34
- - Litkevich Yuriy   Цитата(Гость_PavelDart_* @ 22.11.2009, 11...   22.11.2009, 14:04
|- - PavelDart   Цитата(Litkevich Yuriy @ 22.11.2009, 14:0...   22.11.2009, 15:11
- - Litkevich Yuriy   Цитата(Гость_PavelDart_* @ 22.11.2009, 18...   22.11.2009, 15:20
- - PavelDart   Воспользовался родными драйверами oci из версии 4....   30.11.2009, 0:16
- - Litkevich Yuriy   Цитата(Гость_PavelDart_* @ 30.11.2009, 3...   30.11.2009, 1:17
- - PavelDart   class QOCIDriver; с начала строки. Цитатаникакого ...   30.11.2009, 9:01
- - iddqd   Цитата(Гость_PavelDart_* @ 30.11.2009, 0...   30.11.2009, 9:16
|- - PavelDart   Цитата(iddqd @ 30.11.2009, 9:16) Цитата(Г...   30.11.2009, 17:00
|- - PavelDart   Сам пока ничего работоспособного не придумал. У к...   1.12.2009, 15:11
|- - PavelDart   Собрал драйвер на 4.5.1 - в sqlbrowser драйвер вид...   5.12.2009, 13:19
- - Litkevich Yuriy   Цитата(Гость_PavelDart_* @ 5.12.2009, 16...   5.12.2009, 18:09
|- - PavelDart   Цитата(Litkevich Yuriy @ 5.12.2009, 18:09...   5.12.2009, 22:13
- - Litkevich Yuriy   Цитата(Гость_PavelDart_* @ 6.12.2009, 1:1...   5.12.2009, 22:46


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


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




RSS Текстовая версия Сейчас: 4.12.2024, 14:35