crossplatform.ru

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

> [РЕШЕНО] Драйвер Oracle-OCI для Qt (Linux Kubuntu 9.10), Как скомпилировать драйвер oracle для Qt
Oleg S. Plesser
  опции профиля:
сообщение 26.11.2009, 11:08
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 18
Регистрация: 12.12.2007
Из: Московская область
Пользователь №: 41

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




Репутация:   0  


скачал
qt-x11-opensource-src-4.5.3.tar.gz

дальше по инструкции из qt-assistant
cd $QTDIR/src/plugins/sqldrivers/oci
qmake "INCLUDEPATH+=/usr/include/oracle/10.1.0.3/client" "LIBS+=-L/usr/lib/oracle/10.1.0.3/client/lib -Wl,-rpath,/usr/lib/oracle/10.1.0.3/client/lib -lclntsh -lnnz10" oci.pro
make

в моем случае
cat $ORACLE_HOME
cat: /usr/lib/oracle/xe/app/oracle/product/10.2.0/server: Is a directory

cd /home/swift/Tmp/qt-x11-opensource-src-4.5.3/src/sql/drivers/oci
qmake -project (у меня нет oci.pro)
qmake "INCLUDEPATH+=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server" "LIBS+=-L/usr/lib/oracle/xe/app/oracle/product/10.2.0/server -Wl,-rpath,/usr/lib/oracle/10.1.0.3/client/lib -lclntsh -lnnz10" oci.pro (у меня стоит oracle XE)

------
прописал в make
include исходников
-I/home/swift/Tmp/qt-x11-opensource-src-4.5.3/include
------
make
и получаю
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/home/swift/Tmp/qt-x11-opensource-src-4.5.3/include/QtSql -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/usr/lib/oracle/xe/app/oracle/product/10.2.0/server -I. -I. -o qsql_oci.o qsql_oci.cpp In file included from qsql_oci.cpp:42:
qsql_oci.h:47:46: error: QtSql/private/qsqlcachedresult_p.h: No such file or directory
qsql_oci.cpp:59:17: error: oci.h: No such file or directory
In file included from qsql_oci.cpp:42:
qsql_oci.h:68: error: expected class-name before ‘{’ token
qsql_oci.h:80: error: ‘ValueCache’ has not been declared
qsql_oci.cpp:80: error: ‘OCIStmt’ was not declared in this scope
qsql_oci.cpp:80: error: template argument 1 is invalid
qsql_oci.cpp:90: error: ‘ub1’ does not name a type
qsql_oci.cpp:91: error: ‘ub2’ does not name a type
qsql_oci.cpp:93: error: ‘sb2’ was not declared in this scope
qsql_oci.cpp:93: error: template argument 1 is invalid
******************




конечно можно начать шаманить и править ссылки на header файлы
но что то мне подсказывает что можно как то более просто решить сей проблему....

вопрос
как?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 26.11.2009, 18:27
Сообщение #2


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

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

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




Репутация:   94  


Цитата(Oleg S. Plesser @ 26.11.2009, 21:10) *
Заходим в него и находим строчку которая начинается с INCPATH
Наша задача указать что лежат заголовочные файлы входящие в исходники.
В моем случае это вылилось в добавление туда следующей строки
-I/home/swift/Tmp/qt-x11-opensource-src-4.5.2/include
по идее этот путь должен присутствовать в pro-файле, может что-то не так с pro-файлом?

Цитата(Oleg S. Plesser @ 26.11.2009, 21:10) *
Затем необходимо переписать hash динамических библиотек. Это делается с помощью команды ldconfig.
вот это бы тоже объяснить, я никогда с таким инструментом не сталкивался, как ldconfig

Цитата(Oleg S. Plesser @ 26.11.2009, 14:08) *
(у меня нет oci.pro)
а вто это важный момент в архиве qt-all-opensource-src он есть:
oci.pro
TARGET     = qsqloci

HEADERS        = ../../../sql/drivers/oci/qsql_oci.h
SOURCES        = main.cpp \
          ../../../sql/drivers/oci/qsql_oci.cpp

win32:LIBS    *= -loci

unix:!contains( LIBS, .*clnts.* ):LIBS    *= -lclntsh

macx:QMAKE_LFLAGS += -Wl,-flat_namespace,-U,_environ

include(../qsqldriverbase.pri)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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




RSS Текстовая версия Сейчас: 28.11.2024, 21:25