![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
pro-maker |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 30.7.2009 Пользователь №: 957 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Добрый день.
Уже неделю пытаюсь корректно поставить qt на Ubuntu двумя способами: 1) Устанавливал из bin файла SDK (Диалоговое окно - далее... далее...) Пакет инсталировался в папку /opt. В Qt Creator ради ознакомления написал несколько простеньких программ типа калькулятора. Предварительно устанавливал Eclipse со всеми прилегающими к нему пакетами, в том числе и G++, из менеджера пакетов. Поэтому с компиляцией проблем нет. Существует необходимость удаленно работать с базой данных Firebird. Не получается скопилировать плагины ibase, испробовал всевозможные способы способы. устанавливал firebird (1.5.5), далее в консоли писал: cd $QTDIR/plugins/src/sqldrivers/ibase qmake -o Makefile "INCLUDEPATH+=/opt/interbase/include" "LIBS+=-L/opt/interbase/lib" ibase.pro make После этого попытался скомпилировать плагин в configure с ключами -qt-sql-ibase -plugin-sql-ibase. При этом всегда выскакивает ошибка: Creating qmake. Please wait... make: Цель `first' не требует выполнения команд. InterBase support cannot be enabled due to functionality tests! Turn on verbose messaging (-v) to ./configure to see the final report. If you believe this message is in error you may use the continue switch (-continue) to ./configure to continue. Может кто сталкивался с аналогичной проблемой? Поделитесь знаниями. 2) Пробовал скомпилировать qt из исходников (распаковал архив tar.gz - ./configure - make - make install). Вся библиотека встала в usr/local/Trolltech... Вроде получилось. Но при такой компиляции отсутсвует qt creator (есть Qt Designer, qt Assistant, qt demo., в общем всек кроме qt creator). Может я чего-то недопонимаю, если да, то как вообще взаимодействует qt creator и Qt? как их привязать друг к друг?. P.S. Версия QT 4.5.2 |
|
|
ecspertiza |
![]()
Сообщение
#2
|
Студент ![]() Группа: Участник Сообщений: 19 Регистрация: 15.7.2009 Пользователь №: 909 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
Если тебе нужен просто Креатор то но тут http://www.qtsoftware.com/downloads/qt-cre...inux-x11-32-bit.
А вообще грубо говоря Креатор это просто редактор кода изначально, еще ну это опять же грубо говоря он может запустить в себе QtDesigner и QtAssistent, и он привязывается к какому либо компилятору ну какой у тебя есть, и собирает им проекты. В SDK просто есть компилятор под виндой это MinGW под линухом незнаю, я под линухом SDK не пользовался. И у него все настройки(пути к компилятору и т.д) заданы автоматически. Моё мнение SDK лудше не юзать(ИМХО) т.к потом доп. плагины собрать просто мучение. Так что поставил Qt скачал QtCreator поставил его, потом Tool->Options->Qt выставляешь настройки и радуешься ![]() |
|
|
pro-maker |
![]()
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 30.7.2009 Пользователь №: 957 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Т.е. хочешь сказать лучше будет установить и сконфигурировать qt компиляцией исходника, чем через бинарный файл ставить. Затем установить отдельно Qt creator и в параметрах прописать путь к сконфигурированной библиотеке, если ее по умолчанию там нет. Я правильно понял?
|
|
|
ViGOur |
![]()
Сообщение
#4
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Угу, именно так.
![]() |
|
|
ecspertiza |
![]()
Сообщение
#5
|
Студент ![]() Группа: Участник Сообщений: 19 Регистрация: 15.7.2009 Пользователь №: 909 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
Да да именно так, SDK хорош если не нужно добавлять никаких плагинов, как то даже было упоминание что оно настроенно для мобильных версий и поэтому много проблем с плагинами которые сам собираешь, так что я думаю что лучше самому из пакетов, но опять же это лично моё мнение
![]() |
|
|
Litkevich Yuriy |
![]()
Сообщение
#6
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
устанавливал firebird (1.5.5), далее в консоли писал: лучше всё же 2-ку.то как вообще взаимодействует qt creator и Qt? да элементарно, Qt - самодостаточная библиотека. Креатор - всего-лишь IDE, в настройках которой указывается путь к корню Qt, к компилятору и т.д.
|
|
|
pro-maker |
![]()
Сообщение
#7
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 30.7.2009 Пользователь №: 957 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Благодарю за ясность. С конфигурированием библиотеки справился, осталось скомпилировать плагины. Если кто использует linux-qt-firebird, отпишите как правильно установить ibase-плагины. Заранее спасибо.
лучше всё же 2-ку. Двойку тоже ставил. Файл $Qt/src/plugins/sqldrivers/ibase/ibase.pro компилируется нормально. Конфигурирование ./configure -qt-sql-ibase -plugin-sql-ibase успешно не заканчивается. Пишет: Creating qmake. Please wait... make: Цель `first' не требует выполнения команд. InterBase support cannot be enabled due to functionality tests! Turn on verbose messaging (-v) to ./configure to see the final report. If you believe this message is in error you may use the continue switch (-continue) to ./configure to continue. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#8
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Конфигурирование ./configure -qt-sql-ibase -plugin-sql-ibase успешно не заканчивается. если ты именно так конфигурируешь, то конечно, ты указываешь взаимоисключающие ключи.Нужно либо плагин использовать (ключ -plugin-sql-ibase), либо встраивать драйвер в модуль QtSql (ключ -qt-sql-ibase) При конфигуриовании со встроенным драйвером, плагин собирать - пустая трата времени. Если ты смог собрать драйвер IBase, то используй тот же подход и при конфигурировании, например:
|
|
|
pro-maker |
![]()
Сообщение
#9
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 30.7.2009 Пользователь №: 957 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Сделал все по новой:
1) Установил firebird 2.05 в папку opt/firebird 2) Установил поддержку ibase: cd $Qt-directory/src/plugins/sqldrivers/ibase sudo qmake -o Makefile "INCLUDEPATH+=/opt/firebird/include" "LIBS+=-L/opt/firebird/lib -lfbclient" ibase.pro выполнил команду make: ошибка make: Цель `first' не требует выполнения команд. Далее выполнил make clean, затем снова make. Установка прошла успешно. 3) Далее пытаюсь сконфигурировать Qt: cd $Qt-directory sudo ./configure -plugin-sql-ibase Пресловутая ошибка: Creating qmake. Please wait... make: Цель `first' не требует выполнения команд. InterBase support cannot be enabled due to functionality tests! Turn on verbose messaging (-v) to ./configure to see the final report. If you believe this message is in error you may use the continue switch (-continue) to ./configure to continue. Хоть убейся. Не пойму то ли шаг 2 является окончательным, толи что-то еще нужно сделать. А может уже все нормально встало, но ,как я понимаю, все установленные плагины должны быть видны в /demos/sqlbrowser/sqlbrowser. QIBASE там отсутствует. Если это не признак, то как можно определить установлен ли драйвер ibase? |
|
|
ecspertiza |
![]()
Сообщение
#10
|
Студент ![]() Группа: Участник Сообщений: 19 Регистрация: 15.7.2009 Пользователь №: 909 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
Ну а попробуй собирать не плагин а встраивать драйвер в модуль QtSql как тебе пишет Litkevich Yuriy
configure -qt-sql-ibase А проверить установлен драйвер или нет просто запускаешь стандартную демку Qt/demos/sqlbrowser |
|
|
pro-maker |
![]()
Сообщение
#11
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 30.7.2009 Пользователь №: 957 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Ну а попробуй собирать не плагин а встраивать драйвер в модуль QtSql как тебе пишет Litkevich Yuriy configure -qt-sql-ibase Cитуация с configure -qt-sql-ibase аналогична. Если исходить из примера Litkevich Yuriy, делаю sudo ./configure -qt-sql-ibase "INCLUDEPATH+=/opt/firebird/include" "LIBS+=/opt/firebird/lib/libfbclient.so" пишет: INCLUDEPATH+=/opt/firebird/include: unknown argument LIBS+=/opt/firebird/lib/libfbclient.so: unknown argument затем выдает список ключей, как при выполнении configure --help Такой метод не катит. На сайте Trolltech (http://doc.trolltech.com/3.3/sql-driver.html#QIBASE) есть мануал по подключению sql-плагинов. Для QIBASE: cd $QTDIR/plugins/src/sqldrivers/ibase qmake -o Makefile "INCLUDEPATH+=/opt/firebird/include" "LIBS+=-L/opt/firebird/lib" ibase.pro make Так и делаю. Это выполняется. Что должно быть дальше? |
|
|
ecspertiza |
![]()
Сообщение
#12
|
Студент ![]() Группа: Участник Сообщений: 19 Регистрация: 15.7.2009 Пользователь №: 909 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
Ну вот теперь запусти Qt/demos/sqlbrowser, и посмотри там есть список установленных драйверов если есть QIBASE значитсо он установился, если нет то всё плохо и тебе придётся ещё долго ковыряться.
|
|
|
pro-maker |
![]()
Сообщение
#13
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 30.7.2009 Пользователь №: 957 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
В том то и проблема, что его там нет.
|
|
|
ecspertiza |
![]()
Сообщение
#14
|
Студент ![]() Группа: Участник Сообщений: 19 Регистрация: 15.7.2009 Пользователь №: 909 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
$QTDIR/plugins/src/sqldrivers/ibase
кокой то странный путь, обычно он такой $QTDIR/src/plugins/sqldrivers/ibase попробуй так cd $QTDIR ./configure -plugin-sql-ibase -I "/opt/firebird/include" -L "/opt/firebird/lib" потом $QTDIR/src/plugins/sqldrivers/ibase/ibase.pro поправить руками на вот такой
потом cd $QTDIR/plugins/src/sqldrivers/ibase qmake make затем cd $QTDIR make make install |
|
|
Litkevich Yuriy |
![]()
Сообщение
#15
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
2) Установил поддержку ibase: ВСЁ НЕ ПРАВИЛЬНО... 3) Далее пытаюсь сконфигурировать Qt: Если ты собрался собирать Qt из исходников последовательность такая: Конфигурация Сборка (компиляция) А у тебя всё наоборот. Конфигурировать после конфигурации безсмысленно, если конфигурацию не очистить. В данный момент в каталоге Qt у тебя полный хаос. Его надо просто удалить! Затем определись, хочешь ли ты встраивать драйвер QIbase в Qt, или использовать этот драйвер как плагин. (последнее проще) Если исходить из примера Litkevich Yuriy, делаю sudo ./configure -qt-sql-ibase "INCLUDEPATH+=/opt/firebird/include" "LIBS+=/opt/firebird/lib/libfbclient.so" возможно я ошибся в способе указания. Но для configure точно можно указывать пути.
пишет: INCLUDEPATH+=/opt/firebird/include: unknown argument LIBS+=/opt/firebird/lib/libfbclient.so: unknown argument затем выдает список ключей, как при выполнении configure --help Такой метод не катит. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#16
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
возможно я ошибся в способе указания. Но для configure точно можно указывать пути. вот нашёл это место в Асистенте: Сборка драйверов при запуске configure
|
|
|
pro-maker |
![]()
Сообщение
#17
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 30.7.2009 Пользователь №: 957 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Благодарю всех за помощь. Проблема разрешилась следующим образом:
1) Установил пакет Firebird2.1-dev через менеджер пакетов Synaptic; 2) В MС (midnight commander) создал символьную ссылку /usr/lib/firebird/2.1/lib/libib_util.so -> /usr/lib/libgds.so 3) configure с нужными ключами 4) make 5) make install |
|
|
pro-maker |
![]()
Сообщение
#18
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 30.7.2009 Пользователь №: 957 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Пересобрал qt с плагином. Теперь другая беда.
Подключаюсь к бд: QSqlDatabase db = QSqlDatabase::addDatabase("QIBASE"); db.setHostName("192.168.0.24:/usr/database"); db.setDatabaseName("dbase.gdb"); db.setUserName("USER"); db.setPassword("USER"); db.open(); Вылазит ошибка: symbol lookup error: /usr/local/Trolltech/Qt-4.5.2/plugins/sqldrivers/libqsqlibase.so: undefined symbol: isc_attach_database /home/dima/ibase/ibase завершилась с кодом 127 Как с этим бороться? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#19
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
pro-maker, попробуй подключится к БД с помощью штатной демки - sqlbrowser
П.С. Незнаю где в лине она лежит в виндовозе так - %QTDIR%/demos/sqlbrowser |
|
|
pro-maker |
![]()
Сообщение
#20
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 30.7.2009 Пользователь №: 957 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Подсоединяюсь через sqlbrowser - просто вылетает из него. (Ввожу данные, нажимаю connect, sqlbrowser закрывается). При компиляции то же самое. Полоска индикатора компиляции полная и зеленая. Во вкладке "Вывод приложения (Qt creator) пишется что "программа завершилась с кодом 127".
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 22.6.2025, 5:24 |