crossplatform.ru

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

3 страниц V  < 1 2 3 >  
Ответить в данную темуНачать новую тему
> Сборка OCI драйвера из имеющихся исходников.
Гость_PavelDart_*
сообщение 22.11.2009, 15:11
Сообщение #11





Гости








    


Цитата(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
  опции профиля:
сообщение 22.11.2009, 15:20
Сообщение #12


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Гость_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_*
сообщение 30.11.2009, 0:16
Сообщение #13





Гости








    


Воспользовался родными драйверами 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
  опции профиля:
сообщение 30.11.2009, 1:17
Сообщение #14


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Гость_PavelDart_* @ 30.11.2009, 3:16) *
../../../sql/drivers/oci/qsql_oci.h:59: error: expected constructor,
что у тебя в это строке?
у меня:
class QOCIDriver;
никакого криминала в ней нет
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_PavelDart_*
сообщение 30.11.2009, 9:01
Сообщение #15





Гости








    


class QOCIDriver;

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

Тоже недоумеваю в чём может быть проблема.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
iddqd
  опции профиля:
сообщение 30.11.2009, 9:16
Сообщение #16


Студент
*

Группа: Участник
Сообщений: 32
Регистрация: 26.11.2009
Пользователь №: 1261

Спасибо сказали: 1 раз(а)




Репутация:   0  


Цитата(Гость_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_*
сообщение 30.11.2009, 17:00
Сообщение #17





Гости








    


Цитата(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_*
сообщение 1.12.2009, 15:11
Сообщение #18





Гости








    


Сам пока ничего работоспособного не придумал.
У кого какие есть идеи?
:clapping:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_PavelDart_*
сообщение 5.12.2009, 13:19
Сообщение #19





Гости








    


Собрал драйвер на 4.5.1 - в sqlbrowser драйвер виден, но на на 4.3.4 нет.
Предварительно скопировал 4 файла в plugin/sqldrivers
libqsqloci4.a
libqsqlocid4.a
qsqloci4.dll
qsqlocid4.dll

Может ещё какие-то файлы надо скопировать? Где можно просмотреть все цели сборки?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 5.12.2009, 18:09
Сообщение #20


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Гость_PavelDart_* @ 5.12.2009, 16:19) *
Собрал драйвер на 4.5.1 - в sqlbrowser драйвер виден, но на на 4.3.4 нет.
обратной совместимости нет.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

3 страниц V  < 1 2 3 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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




RSS Текстовая версия Сейчас: 26.4.2024, 17:59