Нашел книгу "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
Решено: Hello Qt4 (Не могу собрать -))
Модератор: Модераторы разделов
-
Corsair
- Сообщения: 842
- Статус: Местный "тролль"
- ОС: Fedora
Re: Решено: Hello Qt4
reD_Rus писал(а): ↑28.10.2008 09:46[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
Поправьте переменные окружения, чтобы использовать нужную версию Qt
Жестокий стоячий админ (с) коллега
-
reD_Rus
- Сообщения: 156
- ОС: Fedora 11 64-bit KDE 4.2.4
Re: Решено: Hello Qt4
ларчик то просто открылся.
Надобыло не qmake, а qmake-qt4 писать -) всем спасибо тему можно закрыть.
Надобыло не qmake, а qmake-qt4 писать -) всем спасибо тему можно закрыть.