на следующий день устрою!!!
Дано:
Kubuntu 9.10 (версия kubuntu при таком варианте не сознательно)
с установленным комплектом разраба по Qt и Oracle Express Edition из репозитариев.
Задача:
самостоятельно установить сплетение из Qt программы по-хорошему с информационной базой.
По какой то первопричине в репозитарии нету скомпилированного драйвера под Oracle, хотя исходники самого sql драйвера
вполне доступны в исходниках Qt.
Для начала нам нужно будет скачать Instant Client Oracle
http://www.oracle.com/technology/software/…/linuxsoft.html
Обратите внимание что в случае если у вас стоит Oracle Express Edition
и обычно идете полностью по последующему пути(адресу)
с правами root нарочно делаете директорию /usr/include/oracle/10.2
Далее идем на вебсайт http://qt.nokia.com/downloads/linux-x11-cpp
И качаем оттуда исходники Qt.
(В репозитарии Kubuntu весьма доступна версия Qt 4.5.2, на вебсайте по умолчанию предполагается скачать 4.5.3, что впринципе не сознательно,
раз Вы тщетно пытаетесь скачать исходники непосредственно Qt 4.5.2 просто в гиперссылке успешно заменяете 1 циферку и таким же wget тихо-мирно ее усердно качаете)
/home/swift/Tmp/qt-x11-opensource-src-4.5.2/src/plugins/sqldrivers/oci
qmake “INCLUDEPATH+=/usr/include/oracle/10.2/” “LIBS+=-L//usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/ -Wl,-rpath,/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/ -lclntsh -lnnz10″ oci.pro
Обратите внимание на пути, они обязаны соотвествовать пути где у вас установлен Oracle XE
Заходим в него и обретаем строку коя наступает с INCPATH
Наша миссия показать что лежат заголовочные файлы входящие в исходники.
В моем случае данное вылилось в прибавление туда грядущей строчки
-I/home/swift/Tmp/qt-x11-opensource-src-4.5.2/include
потом make install (данную команду нужно будет мягко запускать с правами root)
Затем нужно переписать hash по-хорошему динамических библиотек. Это означает, что это делается при помощи команды ldconfig.
#include <QtGui>
#include <QtSql>
QApplication a(argc,argv);
QMainWindow mainwin;
….
QSqlDatabase db;
db.addDatabase(”QOCI”);
db.setDatabaseName(”XE”);
db.setUserName(”system”);
db.setPassword(”secret_word”);
…………..
mainwin.show();
return a.exec();
Вы должны быть зарегистрироавны чтобы оставить комментарий.