Нашел книгу "Qt4: Программирвоание GUI на С++". Авторы Жасмин Бланшет и Марк Саммерфилд.
В книге идет самый первый пример - "Hello Qt4", вот на нем я сразу и споткнулся.
У меня Fedora 8 стоят следующие пакеты qt4:
[root@linux-sash- ~]# rpm -qa|grep qt4
qt4-x11-4.4.3-1.fc8
qt4-devel-4.4.3-1.fc8
qt4-qsa-1.2.2-4.fc7
qt4-postgresql-4.4.3-1.fc8
qt4-odbc-4.4.3-1.fc8
qt4-4.4.3-1.fc8
qt4-mysql-4.4.3-1.fc8
qt4-qsa-devel-1.2.2-4.fc7
qt4-theme-quarticurve-0.0-0.9.beta6.fc8
qt4-doc-4.4.3-1.fc8
Что я делаю
создаю в текстовом редакторе файл hello.cpp, в директории /home/sash/hello
следующего содержания
#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();
}
$ qmake -project
создается файл hello.pro
$ qmake hello.pro
создаётся файл Makefile
$ make
вываливается ошибка
[sash@linux-sash- hello]$ make
g++ -c -pipe -Wall -W -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -f stack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasyn chronous-unwind-tables -DQT_NO_DEBUG -DQT_SHARED -DQT_TABLET_SUPPORT -DQT_THREA D_SUPPORT -I/usr/lib/qt-3.3/mkspecs/default -I. -I. -I/usr/lib/qt-3.3/include -o hello.o hello.cpp
hello.cpp:1:24: error: QApplication: Нет такого файла или каталога
hello.cpp:2:18: error: QLabel: Нет такого файла или каталога
hello.cpp: In function ‘int main(int, char**)’:
hello.cpp:5: ошибка: нет декларации ‘QApplication’ в этой области видимости
hello.cpp:5: ошибка: expected `;' before ‘app’
hello.cpp:6: ошибка: нет декларации ‘QLabel’ в этой области видимости
hello.cpp:6: ошибка: нет декларации ‘label’ в этой области видимости
hello.cpp:6: ошибка: expected type-specifier before ‘QLabel’
hello.cpp:6: ошибка: expected `;' before ‘QLabel’
hello.cpp:8: ошибка: нет декларации ‘app’ в этой области видимости
hello.cpp: At global scope:
hello.cpp:3: предупреждение: unused parameter ‘argc’
hello.cpp:3: предупреждение: unused parameter ‘argv’
make: *** [hello.o] Ошибка 1