crossplatform.ru

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

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
pro-maker
  опции профиля:
сообщение 30.7.2009, 11:35
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 30.7.2009
Пользователь №: 957

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




Репутация:   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
  опции профиля:
сообщение 30.7.2009, 12:46
Сообщение #2


Студент
*

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

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




Репутация:   1  


Если тебе нужен просто Креатор то но тут http://www.qtsoftware.com/downloads/qt-cre...inux-x11-32-bit.

А вообще грубо говоря Креатор это просто редактор кода изначально, еще ну это опять же грубо говоря он может запустить в себе QtDesigner и QtAssistent, и он привязывается к какому либо компилятору ну какой у тебя есть, и собирает им проекты.

В SDK просто есть компилятор под виндой это MinGW под линухом незнаю, я под линухом SDK не пользовался. И у него все настройки(пути к компилятору и т.д) заданы автоматически.

Моё мнение SDK лудше не юзать(ИМХО) т.к потом доп. плагины собрать просто мучение.

Так что поставил Qt скачал QtCreator поставил его, потом Tool->Options->Qt выставляешь настройки и радуешься :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
pro-maker
  опции профиля:
сообщение 30.7.2009, 13:16
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 30.7.2009
Пользователь №: 957

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




Репутация:   0  


Т.е. хочешь сказать лучше будет установить и сконфигурировать qt компиляцией исходника, чем через бинарный файл ставить. Затем установить отдельно Qt creator и в параметрах прописать путь к сконфигурированной библиотеке, если ее по умолчанию там нет. Я правильно понял?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 30.7.2009, 13:50
Сообщение #4


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


Угу, именно так. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ecspertiza
  опции профиля:
сообщение 30.7.2009, 14:33
Сообщение #5


Студент
*

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

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




Репутация:   1  


Да да именно так, SDK хорош если не нужно добавлять никаких плагинов, как то даже было упоминание что оно настроенно для мобильных версий и поэтому много проблем с плагинами которые сам собираешь, так что я думаю что лучше самому из пакетов, но опять же это лично моё мнение :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 30.7.2009, 15:00
Сообщение #6


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

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

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




Репутация:   94  


Цитата(pro-maker @ 30.7.2009, 15:35) *
устанавливал firebird (1.5.5), далее в консоли писал:
лучше всё же 2-ку.

Цитата(pro-maker @ 30.7.2009, 15:35) *
то как вообще взаимодействует qt creator и Qt?
да элементарно, Qt - самодостаточная библиотека. Креатор - всего-лишь IDE, в настройках которой указывается путь к корню Qt, к компилятору и т.д.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
pro-maker
  опции профиля:
сообщение 30.7.2009, 18:22
Сообщение #7


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 30.7.2009
Пользователь №: 957

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




Репутация:   0  


Благодарю за ясность. С конфигурированием библиотеки справился, осталось скомпилировать плагины. Если кто использует linux-qt-firebird, отпишите как правильно установить ibase-плагины. Заранее спасибо.


Цитата(Litkevich Yuriy @ 30.7.2009, 15:00) *
лучше всё же 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
  опции профиля:
сообщение 30.7.2009, 18:35
Сообщение #8


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

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

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




Репутация:   94  


Цитата(pro-maker @ 30.7.2009, 22:22) *
Конфигурирование ./configure -qt-sql-ibase -plugin-sql-ibase успешно не заканчивается.
если ты именно так конфигурируешь, то конечно, ты указываешь взаимоисключающие ключи.

Нужно либо плагин использовать (ключ -plugin-sql-ibase), либо встраивать драйвер в модуль QtSql (ключ -qt-sql-ibase)
При конфигуриовании со встроенным драйвером, плагин собирать - пустая трата времени.
Если ты смог собрать драйвер IBase, то используй тот же подход и при конфигурировании, например:
configure -qt-sql-ibase "INCLUDEPATH+=F:\Firebird\Firebird_2_0\include" "LIBS+=F:\Firebird\Firebird_2_0\lib\fbclient.lib"
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
pro-maker
  опции профиля:
сообщение 31.7.2009, 6:21
Сообщение #9


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 30.7.2009
Пользователь №: 957

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




Репутация:   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
  опции профиля:
сообщение 31.7.2009, 8:14
Сообщение #10


Студент
*

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

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




Репутация:   1  


Ну а попробуй собирать не плагин а встраивать драйвер в модуль QtSql как тебе пишет Litkevich Yuriy

configure -qt-sql-ibase

А проверить установлен драйвер или нет просто запускаешь стандартную демку Qt/demos/sqlbrowser
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
pro-maker
  опции профиля:
сообщение 31.7.2009, 9:01
Сообщение #11


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 30.7.2009
Пользователь №: 957

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




Репутация:   0  


Цитата(ecspertiza @ 31.7.2009, 11:14) *
Ну а попробуй собирать не плагин а встраивать драйвер в модуль 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
  опции профиля:
сообщение 31.7.2009, 10:09
Сообщение #12


Студент
*

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

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




Репутация:   1  


Ну вот теперь запусти Qt/demos/sqlbrowser, и посмотри там есть список установленных драйверов если есть QIBASE значитсо он установился, если нет то всё плохо и тебе придётся ещё долго ковыряться.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
pro-maker
  опции профиля:
сообщение 31.7.2009, 10:18
Сообщение #13


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 30.7.2009
Пользователь №: 957

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




Репутация:   0  


В том то и проблема, что его там нет.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ecspertiza
  опции профиля:
сообщение 31.7.2009, 11:03
Сообщение #14


Студент
*

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

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




Репутация:   1  


$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 поправить руками на вот такой

TARGET     = qsqlibase

HEADERS        = ../../../sql/drivers/ibase/qsql_ibase.h
SOURCES        = main.cpp \
          ../../../sql/drivers/ibase/qsql_ibase.cpp

unix:!contains( LIBS, .*gds.* ):!contains( LIBS, .*libfb.* ):LIBS    *= -lfbclient

win32:!contains( LIBS, .*gds.* ):!contains( LIBS, .*fbclient.* ) {
    !win32-borland:LIBS *= -lfbclient_ms
    win32-borland:LIBS  += fbclient_ms.lib
}

include(../qsqldriverbase.pri)


потом

cd $QTDIR/plugins/src/sqldrivers/ibase
qmake
make

затем

cd $QTDIR
make
make install
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 31.7.2009, 17:02
Сообщение #15


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

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

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




Репутация:   94  


Цитата(pro-maker @ 31.7.2009, 10:21) *
2) Установил поддержку ibase:
...
3) Далее пытаюсь сконфигурировать Qt:
ВСЁ НЕ ПРАВИЛЬНО

Если ты собрался собирать Qt из исходников последовательность такая:
Конфигурация
Сборка (компиляция)

А у тебя всё наоборот.

Конфигурировать после конфигурации безсмысленно, если конфигурацию не очистить.

В данный момент в каталоге Qt у тебя полный хаос. Его надо просто удалить!

Затем определись, хочешь ли ты встраивать драйвер QIbase в Qt, или использовать этот драйвер как плагин. (последнее проще)


Цитата(pro-maker @ 31.7.2009, 13:01) *
Если исходить из примера 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
Такой метод не катит.
возможно я ошибся в способе указания. Но для configure точно можно указывать пути.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 1.8.2009, 18:10
Сообщение #16


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

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

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




Репутация:   94  


Цитата(Litkevich Yuriy @ 31.7.2009, 21:02) *
возможно я ошибся в способе указания. Но для configure точно можно указывать пути.
вот нашёл это место в Асистенте: Сборка драйверов при запуске configure
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
pro-maker
  опции профиля:
сообщение 3.8.2009, 5:49
Сообщение #17


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 30.7.2009
Пользователь №: 957

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




Репутация:   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
  опции профиля:
сообщение 4.8.2009, 6:31
Сообщение #18


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 30.7.2009
Пользователь №: 957

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




Репутация:   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
  опции профиля:
сообщение 4.8.2009, 13:10
Сообщение #19


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

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

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




Репутация:   94  


pro-maker, попробуй подключится к БД с помощью штатной демки - sqlbrowser

П.С. Незнаю где в лине она лежит в виндовозе так - %QTDIR%/demos/sqlbrowser
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
pro-maker
  опции профиля:
сообщение 4.8.2009, 13:54
Сообщение #20


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 30.7.2009
Пользователь №: 957

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




Репутация:   0  


Подсоединяюсь через sqlbrowser - просто вылетает из него. (Ввожу данные, нажимаю connect, sqlbrowser закрывается). При компиляции то же самое. Полоска индикатора компиляции полная и зеленая. Во вкладке "Вывод приложения (Qt creator) пишется что "программа завершилась с кодом 127".
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 22.6.2025, 5:24