Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Сборка OCI драйвера из имеющихся исходников.
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Разработка баз данных
PavelDart
Доброго времени суток.
Очень надо собрать драйвера для оракла на 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
А сами QT-шные хидеры есть вообще? %QTPATH%\include\...

Имею в виду qsqlerror.h qsqlfield.h и пр
Litkevich Yuriy
Цитата(Гость_PavelDart_* @ 22.11.2009, 2:33) *
qsqlerror.h: No such file or directory
похоже, что с файлом проекта лажа какая-то, может не подключен модуль sql
PavelDart
Цитата(Rocky @ 21.11.2009, 23:59) *
А сами QT-шные хидеры есть вообще? %QTPATH%\include\...

Имею в виду qsqlerror.h qsqlfield.h и пр


На месте. Сейчас пути ещё раз проверю.
PavelDart
Скопировал файлы, которые не обнаруживались.
Сейчас имею:

C:\MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -lclntsh
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


-lclntsh - прописан в про-файле. Не разобрался что за зверь - решил оставить.

TEMPLATE = lib
CONFIG += qt plugin thread debug
HEADERS = qsql_oracle.h QSqlOracleDriverPlugin.h
SOURCES = qsql_oracle.cpp QSqlOracleDriverPlugin.cpp
INCLUDEPATH += O:\oraclexe\app\oracle\product\10.2.0\server\OCI\include
LIBPATH += O:\oraclexe\app\oracle\product\10.2.0\server\OCI\lib\MSVC
LIBS += -lclntsh -lQtSql


PavelDart
Немного поэкспериментировал - убрал -lclntsh
Получилось:

C:\MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -lQtGuid4
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


Ключи в строчке LIBS как работают? что описывают?
Litkevich Yuriy
Цитата(Гость_PavelDart_* @ 22.11.2009, 3:14) *
Скопировал файлы, которые не обнаруживались.
откуда и куда ты их скопировал?
PavelDart
Цитата(Litkevich Yuriy @ 22.11.2009, 2:48) *
Цитата(Гость_PavelDart_* @ 22.11.2009, 3:14) *
Скопировал файлы, которые не обнаруживались.
откуда и куда ты их скопировал?

[quote name='Rocky' date='21.11.2009, 23:59' post='26868']
%QTPATH%\include\...

Имею в виду qsqlerror.h qsqlfield.h и пр
[/quote
PavelDart
Проделал вот такой фокус:
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-файла, с подобным выводом, этими же ошибками.
Litkevich Yuriy
Цитата(Гость_PavelDart_* @ 22.11.2009, 11:34) *
PavelDart
Ещё раз и по порядку.
qsqlerror{h.cpp} это файлы модуля QtSQL их ненужно ни откуда и никуда копировать!
Если ты их откуда-то куда-то копируешь, то ты получаешь не Qt, а собственную версию библиотеки. А с собственной версией разбирайся сам.

Цитата(Гость_PavelDart_* @ 22.11.2009, 11:34) *
1.В pro-файле прописал пути до qt-шных lib и include
пути к Qt модулям прописывать не надо, надо подключить только модуль
Цитата(Гость_PavelDart_* @ 22.11.2009, 11:34) *
2.переименовал имеющиеся в lib libQtGui4.a -> libQtGuid4.a, libQtCore4.a ->libQtCored4.a
за каким чёртом?
PavelDart
Цитата(Litkevich Yuriy @ 22.11.2009, 14:04) *
Цитата(Гость_PavelDart_* @ 22.11.2009, 11:34) *
PavelDart
Ещё раз и по порядку.
qsqlerror{h.cpp} это файлы модуля QtSQL их ненужно ни откуда и никуда копировать!
Если ты их откуда-то куда-то копируешь, то ты получаешь не Qt, а собственную версию библиотеки. А с собственной версией разбирайся сам.

Цитата(Гость_PavelDart_* @ 22.11.2009, 11:34) *
1.В pro-файле прописал пути до qt-шных lib и include
пути к Qt модулям прописывать не надо, надо подключить только модуль
Цитата(Гость_PavelDart_* @ 22.11.2009, 11:34) *
2.переименовал имеющиеся в lib libQtGui4.a -> libQtGuid4.a, libQtCore4.a ->libQtCored4.a
за каким чёртом?


Это только эксперименты были.
Вот что есть сейчас:
Исходный qsqloracleqt4.pro
TEMPLATE = lib
CONFIG += qt plugin thread debug
HEADERS = qsql_oracle.h QSqlOracleDriverPlugin.h
SOURCES = qsql_oracle.cpp QSqlOracleDriverPlugin.cpp
INCLUDEPATH += . /usr/local/oracle/instantclient_10_2/sdk/include /usr/include/qt4/QtSql
LIBPATH += /usr/local/oracle/instantclient_10_2/
LIBS += -lclntsh -lQtSql


поменял пути:
TEMPLATE = lib
CONFIG += qt plugin thread debug
HEADERS = qsql_oracle.h QSqlOracleDriverPlugin.h
SOURCES = qsql_oracle.cpp QSqlOracleDriverPlugin.cpp
INCLUDEPATH += O:\oraclexe\app\oracle\product\10.2.0\server\OCI\include E:\Qt\4.3.4\include\QtSql
LIBPATH += O:\oraclexe\app\oracle\product\10.2.0\server\OCI\lib\MSVC\
LIBS += -lclntsh -lQtSql






Litkevich Yuriy
Цитата(Гость_PavelDart_* @ 22.11.2009, 18:11) *
LIBS += -lclntsh -lQtSql
lQtSql - убрать
Цитата(Гость_PavelDart_* @ 22.11.2009, 18:11) *
E:\Qt\4.3.4\include\QtSql
убрать

Образец pro-файла смотреть в:
E:\Qt\4.3.4\src\plugins\sqldrivers\odbc
E:\Qt\4.3.4\src\plugins\sqldrivers\ibase
E:\Qt\4.3.4\src\plugins\sqldrivers\mysql
т.е. всё сделать по аналогии и с головой, в частности не забыть строчку include(../qsqldriverbase.pri)
PavelDart
Воспользовался родными драйверами oci из версии 4.5.1 Моя сконфигурированная версия 4.3.4
Для уверенности сравнил Qt\4.3.4\src\sql\drivers\drivers.pri - совпадают.
Скопировал файлы по адресам Qt\4.3.4\src\sql\drivers\oci\ и Qt\4.3.4\src\plugins\sqldrivers\oci\
Выставил пути.
При сборке получил:

qmake
qmake oci.pro
make
In file included from main.cpp:44:
../../../sql/drivers/oci/qsql_oci.h:59: error: expected constructor, destructor, or type conversion before "class"
../../../sql/drivers/oci/qsql_oci.h:59: error: expected `,' or `;' before "class"
../../../sql/drivers/oci/qsql_oci.h:126: error: `QT_END_NAMESPACE' does not name a type
main.cpp:57: error: `QOCIDriverPlugin' has not been declared
main.cpp:58: error: ISO C++ forbids declaration of `QOCIDriverPlugin' with no type
main.cpp: In function `int QOCIDriverPlugin()':
main.cpp:58: error: only constructors take base initializers
main.cpp: At global scope:
main.cpp:62: error: `QOCIDriverPlugin' is not a class or namespace
main.cpp:71: error: `QOCIDriverPlugin' is not a class or namespace
main.cpp:72: error: non-member function `QStringList keys()' cannot have `const' method qualifier
main.cpp: In function `QObject* qt_plugin_instance()':
main.cpp:80: error: `QOCIDriverPlugin' is not a type
main.cpp: At global scope:
main.cpp:82: error: expected constructor, destructor, or type conversion at end of input
main.cpp:82: error: expected `,' or `;' at end of input
mingw32-make[1]: *** [tmp/obj/debug_shared/main.o] Error 1
mingw32-make[1]: Leaving directory `E:/Qt/4.3.4/src/plugins/sqldrivers/oci'
mingw32-make: *** [debug-all] Error 2

[PavelDart] E:\Qt\4.3.4\src\plugins\sqldrivers\oci$

Litkevich Yuriy
Цитата(Гость_PavelDart_* @ 30.11.2009, 3:16) *
../../../sql/drivers/oci/qsql_oci.h:59: error: expected constructor,
что у тебя в это строке?
у меня:
class QOCIDriver;
никакого криминала в ней нет
PavelDart
class QOCIDriver;

с начала строки.
Цитата
никакого криминала в ней нет

Тоже недоумеваю в чём может быть проблема.
iddqd
Цитата(Гость_PavelDart_* @ 30.11.2009, 0:16) *
Скопировал файлы по адресам Qt\4.3.4\src\sql\drivers\oci\ и Qt\4.3.4\src\plugins\sqldrivers\oci\

Какие файлы? В 4.3.4 по этим адресам изначально ничего нет?

В 2009.4 в 59 строке тоже самое ("class QOCIDriver;") при сборке таких ошибок не замечено.
PavelDart
Цитата(iddqd @ 30.11.2009, 9:16) *
Цитата(Гость_PavelDart_* @ 30.11.2009, 0:16) *
Скопировал файлы по адресам Qt\4.3.4\src\sql\drivers\oci\ и Qt\4.3.4\src\plugins\sqldrivers\oci\

Какие файлы? В 4.3.4 по этим адресам изначально ничего нет?



в Qt\4.3.4\src\sql\drivers\oci

qsql_oci.h
qsql_oci.cpp

в Qt\4.3.4\src\plugins\sqldrivers\oci

Майн, редми и oci.pro
PavelDart
Сам пока ничего работоспособного не придумал.
У кого какие есть идеи?
:clapping:
PavelDart
Собрал драйвер на 4.5.1 - в sqlbrowser драйвер виден, но на на 4.3.4 нет.
Предварительно скопировал 4 файла в plugin/sqldrivers
libqsqloci4.a
libqsqlocid4.a
qsqloci4.dll
qsqlocid4.dll

Может ещё какие-то файлы надо скопировать? Где можно просмотреть все цели сборки?
Litkevich Yuriy
Цитата(Гость_PavelDart_* @ 5.12.2009, 16:19) *
Собрал драйвер на 4.5.1 - в sqlbrowser драйвер виден, но на на 4.3.4 нет.
обратной совместимости нет.
PavelDart
Цитата(Litkevich Yuriy @ 5.12.2009, 18:09) *
обратной совместимости нет.

Ждал этого.
Спасибо.
Litkevich Yuriy
Цитата(Гость_PavelDart_* @ 6.12.2009, 1:13) *
Ждал этого.
Спасибо.
прочитай: Динамическая загрузка и проверка подключаемых модулей

П.С. Драйвер СУБД - подключаемый модуль (plugin)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.