Здравствуйте, гость ( Вход | Регистрация )
PavelDart | Дата 29.11.2009, 23:59 |
iddqd, чего-то нового ожидать было бессмысленно. Всё равно, спасибо. | |
iddqd | Дата 29.11.2009, 20:56 |
Litkevich Yuriy, спасибо, интересно прочитать комментарии iddqd. В принципе всё описано в постах #1 и #6. Если по шагам, то получится примерно вот так: 1. Качаем qt-sdk-win-opensource-2009.04, ставим его, в комплекте идёт IDE Qt Creator 2. a) Если есть CD c инсталлером Oracle, то ставим Oracle Client с диска, при установке выбираем Custom и отмечаем опцию Oracle Programmer b) Если диска нет, но есть, например, Oracle Instant Client 10й или 11й версии, то распаковываем его в любое место и запоминаем путь 3. Открываем в Qt Creator файл путь_до_qt\2009.04\qt\src\plugins\sqldrivers\oci\oci.pro, дописываем в него две строки: - для Oracle 9:
- для Oracle InstantClient 11:
4. Собираем проект, получаем драйвер. Копируем полученные при сборке файлы qsqloci4.dll и libqsqloci4.a для release сборки (для debug - qsqlocid4.dll и libqsqlocid4.a) в папку путь_до_qt\2009.04\qt\plugins\sqldrivers\. Всё, драйвер собран и готов к использованию. 5. Не забываем о том, что для запуска на другом компе нам нужно скопировать в папку с нашей программой файл oci.dll (из состава самого Oracle Client'a), также создать в папке с нашей прогой папку sqldrivers и скопировать туда файл qsqloci4.dll. |
|
PavelDart | Дата 27.11.2009, 22:54 |
Litkevich Yuriy, спасибо, интересно прочитать комментарии iddqd. | |
Litkevich Yuriy | Дата 27.11.2009, 20:45 |
из каких исходников были собраны драйвера исходники QOCI смотри в архиве Qt для всех платформ (qt-all-opensource-src-*) на FTP тролей :ftp://ftp.trolltech.com/qt/source/ в архивах под конкретную плаформу X11 или Win их нет |
|
PavelDart | Дата 27.11.2009, 20:35 |
iddqd, а можно по-подробнее про сборку драйвера для OCI. Жутко интересно, из каких исходников были собраны драйвера, у меня есть исходники вот отсюда только толку от них мало, скорее наверное, от меня.) Ещё интересно взглянуть на эти исходники. Ну и что бы сориентироваться, в правильности моих действий, приведите пожалуйста, список Ваших действий. |
|
iddqd | Дата 27.11.2009, 16:53 |
Пример - тот же Делфи, дистрибутив содержит кучу всего, но эту кучу можно установить одной программой установки. Т.е. делаешь дистриб, который устанавливает и клиент Оракла и твою программу, ВАЖНО: для пользователя процесс установки должен быть простой, тогда ему неважно сколько dll'ок будет установлено. В том-то и дело, нет желания делать дистрибы и ставить клиента к каждому юзеру на комп. Софт только для внутреннего использования. В Delphi моя программа компилируется в один единственный exe'шник (и работает свободно на любом компе, соединяясь с сервером в сети) и я хочу, хотя бы приближённо, сделать то же самое на Qt (я имею в виду static сборки) или согласен даже на shared сборки с набором либ кьюта, но ставить ещё и Oracle Client каждый раз - такой вариант не катит, к сожалению... |
|
Litkevich Yuriy | Дата 27.11.2009, 14:56 |
к чему в итоге пришли. все приходят к одному и тому же:Моя программа - моя программа, а её зависимости - неизбежные зависимости. Пример - тот же Делфи, дистрибутив содержит кучу всего, но эту кучу можно установить одной программой установки. Т.е. делаешь дистриб, который устанавливает и клиент Оракла и твою программу, ВАЖНО: для пользователя процесс установки должен быть простой, тогда ему неважно сколько dll'ок будет установлено. |
|
iddqd | Дата 27.11.2009, 14:44 |
По большому счёту всё верно. Посмотрим, может кто-нибудь ещё сталкивался с такой проблемой и опишут, к чему в итоге пришли. |
|
Litkevich Yuriy | Дата 27.11.2009, 14:38 |
iddqd, я думаю имей ты комерческую лицензию Qt троли бы тебе помогли с этим. А у Дельфей вообще нет халявной лицензии (LGPL), следовательно и сравнивать нужно с комерческой Qt. | |
iddqd | Дата 27.11.2009, 14:36 |
Если так, то это очень и очень плохо... А с "вкомпиливанием" вообще не вариант... Хм, на Delphi-то написали, работает без клиента. Нужели на Qt такого не получится сделать | |
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 29.3.2024, 5:16 |