Автор Тема: qmake для qt4.5  (Прочитано 4693 раз)

Оффлайн woronin

  • Завсегдатай
  • *
  • Сообщений: 381
    • Email
qmake для qt4.5
« : 28.01.2011 19:49:51 »
Тут мне дали файлы - для сборки под QT. Эти файлы отлажены и нормально работают под REDHat - понятно, что на Alt linux они не запустились. Поставил QT4 - так вылезла засада у него не могу найти qmake - подскажите, как мне собрать проект и потом файл на
Linux host-249.localdomain 2.6.30-std-def-alt14 #1 SMP Wed Oct 7 06:44:21 UTC 2009 i686 GNU/Linux
для QT4 ?

Оффлайн Карлсон

  • Завсегдатай
  • *
  • Сообщений: 1 699
Re: qmake для qt4.5
« Ответ #1 : 28.01.2011 20:11:14 »
Поставил QT4 - так вылезла засада у него не могу найти qmake

$ rpm -qf /usr/bin/qmake-qt4
libqt4-devel-4.7.1-alt1


Оффлайн woronin

  • Завсегдатай
  • *
  • Сообщений: 381
    • Email
Re: qmake для qt4.5
« Ответ #2 : 04.02.2011 20:16:26 »
Пытался поставить этот пакет - вот что пишет:

W: Не удалось получить ftp://ftp.altlinux.org/pub/distributions/ALTLinux/p5/branch/i586/RPMS.classic/openssl-0.9.8o-alt3.M51.1.i586.rpm
  Unable to fetch file, server said 'Failed to open file.  '

« Последнее редактирование: 04.02.2011 20:47:00 от ruslandh »

Оффлайн woronin

  • Завсегдатай
  • *
  • Сообщений: 381
    • Email
Re: qmake для qt4.5
« Ответ #3 : 04.02.2011 20:29:22 »
Поствил этот пакет из другого репозитория
ftp://ftp.chg.ru/pub/Linux/ALTLinux/p5/branch/
 Получил команду qmake. Теперь другой трабл вылез.
$ qmake-qt4 -project
$ qmake-qt4 qt.pro
uic: File generated with too old version of Qt Designer (3)

Почему? Что сделать?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: qmake для qt4.5
« Ответ #4 : 04.02.2011 20:48:36 »
Файл uic сгенерирован слишком старой версией qt-designer

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 926
    • Домашняя страница
    • Email
Re: qmake для qt4.5
« Ответ #5 : 05.02.2011 19:37:05 »
$ qmake-qt4 qt.pro
uic: File generated with too old version of Qt Designer (3)
Может, qmake-qt3 ? Там точно нужно Qt4?
Или в designer-qt4 открыть файл .ui и сохранить.
Андрей Черепанов (cas@)

Оффлайн woronin

  • Завсегдатай
  • *
  • Сообщений: 381
    • Email
Re: qmake для qt4.5
« Ответ #6 : 08.02.2011 19:21:49 »
Мне конечно все равно в чем эту задачу реализовать. Проблема - что не получается ни в  QT3 -  ни в QT4 в ALT-ах собрать простенький файлик. Мне его сделали в QT3  в Red Hat-е и прислали собранный файл вместе с исходниками. Он понятно - что в ALT -ах не запускается. Пишет:
$ ./GrphDat
./GrphDat: error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory

Я этот исходник попытался собрать в QT3. Он грязно ругнулся на этапе сборки:
main.cpp:(.text+0x1c): undefined reference to `QApplication::QApplication(int&, char**)'
ну и дальше куча наведенных ошибок...

Я поставил QT4 - там мне очень понравились примерчики, все так красиво выглядит. Я открыл файл UIC в designer-qt4
и сохранил в новой версии - но собраться файл все равно не захотел. Диагностика проблемы такая
tempdatchform.h:30: error: ‘WFlags’ has not been declared

Почему эта переменная ‘WFlags не декларирована? Что еще предпринять?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 926
    • Домашняя страница
    • Email
Re: qmake для qt4.5
« Ответ #7 : 08.02.2011 20:03:42 »
Я этот исходник попытался собрать в QT3. Он грязно ругнулся на этапе сборки:
main.cpp:(.text+0x1c): undefined reference to `QApplication::QApplication(int&, char**)'
ну и дальше куча наведенных ошибок...
Линкуется ни с теми библиотеками. Дайте более подробный вывод и версию rpm -q libqt3-devel Согласно http://doc.trolltech.com/3.3/qapplication.html#QApplication API такой вызов соответствует.
Цитировать
tempdatchform.h:30: error: ‘WFlags’ has not been declared
Почему эта переменная ‘WFlags не декларирована? Что еще предпринять?
Qt4 — совсем другая версия Qt, там много изменений в API. Собирайте в третьей версии.
Андрей Черепанов (cas@)

Оффлайн woronin

  • Завсегдатай
  • *
  • Сообщений: 381
    • Email
Re: qmake для qt4.5
« Ответ #8 : 10.02.2011 14:47:36 »
Вывод ошибки слишком большой, чтобы его приводить здесь - я в текстовом файле его положил вот сюда:
http://www.matren.ru/images/test/qt3.txt
там в первых двух строчках проект собирается, а на третьей - make вываливает все ошибки.
Ну и в конце - какие файлы образуются в директории при сборке

А библиотека вот такая у меня:
$ rpm -q libqt3-devel
libqt3-devel-3.3.8b-alt7

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 926
    • Домашняя страница
    • Email
Re: qmake для qt4.5
« Ответ #9 : 10.02.2011 18:36:16 »
Зачем запускаете qmake-qt3 -project?
Проект (файл .pro) должен уже быть создан. Иначе получается чёрт знает что типа
g++  -o qt main.o tempdatchform.o moc_tempdatchform.o   -L/usr/X11R6/lib -lXext -lX11 -lmБез указания библиотеки Qt: -L/usr/lib/qt3/lib -lqt-mt такая ошибка вполне закономерна.
Андрей Черепанов (cas@)

Оффлайн woronin

  • Завсегдатай
  • *
  • Сообщений: 381
    • Email
Re: qmake для qt4.5 РЕШЕНО
« Ответ #10 : 16.02.2011 15:25:08 »
Получилось, заработало !!!!!!!!!!
Андрей - спасибо большое!
Еще раз - что я сделал:
1. У меня есть два файла:
-rw-r--r-- 1 woronin woronin 24517 Фев 16 15:08 tempdatchform.ui
-rw-r--r-- 1 woronin woronin   276 Янв 28 18:11 main.cpp

2. Создал проект: qmake-qt3 -project
получился файл :
-rw-r--r-- 1 woronin woronin   317 Фев 16 15:17 qt.pro

3. Создал Makefile, выполнив: qmake-qt3
получился файл:
-rw-r--r-- 1 woronin woronin  3251 Фев 16 15:18 Makefile

4. Исправил строчку в файле
vi +22 Makefile
на
LIBS     = $(SUBLIBS) -L/usr/lib/qt3/lib -lqt-mt

5. Запустил компиляцию : make

6. получил готовый  исполняемый файл, по имени директории где он образуется : qt

7. Запустил, увидел что он нормально работает!!!
./qt

Вопрос все-таки остался. Что мне сделать, чтобы нужная строчка получалась в MakeFile автоматически, чтобы не надо было ее руками всякий раз подправлять в AltLinux-e?  В RedHat-e же такой проблемы нет?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 926
    • Домашняя страница
    • Email
Re: qmake для qt4.5 РЕШЕНО
« Ответ #11 : 16.02.2011 17:06:24 »
Вопрос все-таки остался. Что мне сделать, чтобы нужная строчка получалась в MakeFile автоматически, чтобы не надо было ее руками всякий раз подправлять в AltLinux-e?  В RedHat-e же такой проблемы нет?
Не знаю, как в RedHat. Должно автоматически создаваться. На всякий случай пропишите явно в .pro
LIBS += -L/usr/lib/qt3/lib -lqt-mt
Андрей Черепанов (cas@)