show(); return app.exec(); } Пишет: blinkev:~/Projects/Qt/Hello$ qmake-qt4 -project blinkev:~/Projects/Qt/Hello$ qmake-qt4 Hello.pro blinkev:~/Projects/Qt/Hello$ make g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I." /> show(); return app.exec(); } Пишет: blinkev:~/Projects/Qt/Hello$ qmake-qt4 -project blinkev:~/Projects/Qt/Hello$ qmake-qt4 Hello.pro blinkev:~/Projects/Qt/Hello$ make g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I." /> [РЕШЕНО] Первый же пример из книги про Qt4 не компилируется - Ubuntu.ru

Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: [РЕШЕНО] Первый же пример из книги про Qt4 не компилируется  (Прочитано 2444 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн blinkev

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Есть книга:
Бланшет,Саммерфилд - QT4 Программирование GUI на С++.2ed.2008

Первый же пример не компилируется:
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
   QApplication app(argc, argv);
   QLabel *label = new QLabel("Hello Qt!");
   label->show();
   return app.exec();
}

Пишет:
blinkev:~/Projects/Qt/Hello$ qmake-qt4 -project
blinkev:~/Projects/Qt/Hello$ qmake-qt4 Hello.pro
blinkev:~/Projects/Qt/Hello$ make
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o Hello.o Hello.cpp
Hello.cpp:1: fatal error: QApplication: Нет такого файла или каталога
compilation terminated.
make: *** [Hello.o] Ошибка 1

Нагуглил подобную проблему в 2008 году, она как раз решалась заменой "qmake" на "qmake-qt4".
Как видно, в моём случае это решение не помогло...

P.S.
Qt4 ставил с сайта http://qt.nokia.com/downloads
Linux/X11 32-bit: Online installer - 22 MB

Кстати, почему-то ubuntu не видела qmake после установки, пришлось доставить apt-get'ом из пакета qt4-qmake

Подскажите в чём проблема?

Пользователь решил продолжить мысль 14 Июня 2011, 21:25:01:
Оказывается папок /usr/include/qt4/.... не существует!
Через find нашёл что, например, тот же QApplication находится в "странной" папке /opt/QtSDK/Desktop/Qt/473/gcc/include/QtGui/QApplication, а также в
/opt/QtSDK/Simulator/Qt/gcc/include/QtGui/QApplication

Бред какой-то, кто-нибудь устанавливал Qt4 через этот Online installer у них на сайте? И почему если это официальный установщик, он не добавляет хэдеры в /usr/include?

Очень обидно когда в самом начале изучения чего-либо сталкиваешься с такими нелепыми проблемами...
« Последнее редактирование: 16 Июня 2011, 10:36:22 от .renaissance »

Оффлайн Vovaldo

  • Любитель
  • *
  • Сообщений: 82
  • Ху Тин Пуй
    • Просмотр профиля
    • Путин забрал у Медведева инновационный орган
Бред какой-то, кто-нибудь устанавливал Qt4 через этот Online installer у них на сайте? И почему если это официальный установщик, он не добавляет хэдеры в /usr/include?

Очень обидно когда в самом начале изучения чего-либо сталкиваешься с такими нелепыми проблемами...
А что, в IDE прогу ваять и запускать не так вставляет, как из консоли, типа? :coolsmiley:

andrey_p

  • Гость
@Vovaldo А ляпнуть не в тему - вставляет?

===

@blinkev Насколько я понимаю, в том и проблема, что qt и qmake из разных мест. qmake сам все должен найти и создать правильный Makefile. Гораздо лучше было бы не скачивать qt, а установить из репозитория Ubuntu (или все-таки найти qmake и прописать его месторасположение в PATH).
« Последнее редактирование: 15 Июня 2011, 07:50:23 от andrey_p »

Оффлайн blinkev

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
А в каком месте должен лежать qt/qmake по умолчанию?

Оффлайн Not eXist

  • Активист
  • *
  • Сообщений: 916
    • Просмотр профиля
Цитировать
И почему если это официальный установщик, он не добавляет хэдеры в /usr/include?
Все программы, которые ставятся левым путём, ака не из репозиториев, обычно ставятся в /opt. Ставьте Qt из репозиториев (libqt4-dev) и будут они в /usr/include.
Для установки qmake  в ubuntu нужен пакет qmake-qt4.

Цитировать
Очень обидно когда в самом начале изучения чего-либо сталкиваешься с такими нелепыми проблемами...
ССЗБ?

Цитировать
А в каком месте должен лежать qt/qmake по умолчанию?
Как и все бинарники в /usr/bin.

Оффлайн blinkev

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Установка libqt4-dev решила проблему.
Спасибо!

 

Страница сгенерирована за 0.031 секунд. Запросов: 25.