Есть книга:
Бланшет,Саммерфилд - 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/downloadsLinux/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?
Очень обидно когда в самом начале изучения чего-либо сталкиваешься с такими нелепыми проблемами...