Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt] "hello qt!" QT_BEGIN_HEADER, простая Qt программа не компилируется: e 
:(
    Опции темы
dima32
Дата 8.10.2008, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 8.10.2008

Репутация: нет
Всего: 1



раньше писал на java и вот решил попробовать написать на C++.
Поставил eclipse, g++, QT (работаю под kde)
Консольная версия программы Hello world работает. 
а вот при компиляции простенькой QT программы:

Код
#include "qt4/Qt/qapplication.h"
#include "qt4/Qt/qlabel.h"
int main(int argc, char *argv[0])
{
    QApplication app(argc,argv);
    QLabel *label=new QLabel("hello qt!");
    label->show();
    app.exec();
    return 0;
}

компилятор выдаёт сообщение:
Код

make all 
Building file: ../src/dff.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/dff.d" -MT"src/dff.d" -o"src/dff.o" "../src/dff.cpp"
/usr/include/qt4/Qt/qapplication.h:59: error: ‘QT_BEGIN_HEADER’ does not name a type
/usr/include/qt4/Qt/qapplication.h:79: error: invalid function declaration
/usr/include/qt4/Qt/qapplication.h:358: error: ‘QT_END_HEADER’ does not name a type
/usr/include/qt4/Qt/qlabel.h:50: error: invalid function declaration
../src/dff.cpp:11: error: expected constructor, destructor, or type conversion before ‘int’
make: *** [src/dff.o] Error 1


как с эти боротья?

Это сообщение отредактировал(а) dima32 - 8.10.2008, 23:42
PM MAIL   Вверх
Fin
Дата 9.10.2008, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дракон->Спать();
**


Профиль
Группа: Участник
Сообщений: 687
Регистрация: 4.1.2006

Репутация: нет
Всего: 10



Makefile сам писал или через qmake?
Такой код не пробовал
Код

#include <QApplication>
#include <QLabel>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QLabel *label = new QLabel("<h2><i>Hello </i><font color=red> Qt!</font></h2>");
    label->show();
    return app.exec();
}



--------------------
Пролетал мимо.
PM MAIL   Вверх
dima32
Дата 9.10.2008, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 8.10.2008

Репутация: нет
Всего: 1



приведённая программа при компиляции выаёт

Код

**** Build of configuration Debug for project dff ****

make all 
Building file: ../src/dff.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/dff.d" -MT"src/dff.d" -o"src/dff.o" "../src/dff.cpp"
../src/dff.cpp:1:24: warning: QApplication: No such file or directory
../src/dff.cpp:2:18: warning: QLabel: No such file or directory
../src/dff.cpp: In function ‘int main(int, char**)’:
../src/dff.cpp:5: error: ‘QApplication’ was not declared in this scope
...........................................................


make файлы не писал -  я создал проект в eclipse


в директории Debug я нашёл make файл  (см аттач)

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  makefile 1,28 Kb
PM MAIL   Вверх
Fin
Дата 9.10.2008, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дракон->Спать();
**


Профиль
Группа: Участник
Сообщений: 687
Регистрация: 4.1.2006

Репутация: нет
Всего: 10



Ну скажем так, не совсем корректный Makefile для Qt библиотеки.
в консоле зайди в директорию, где у тебя лежит проект. Набери команду qmake -project. У тебя должен появится файл с именем имя_каталога.pro. Обратно запускаеш qmake, только в качестве параметра указываеш этот файл, пример: qmake hello.pro
У тебя должен создаться файл Makefile. Теперь можно и запускать make. make - компилирует проект. make clean удаляет все временные и объектные файлы и также и бинарник. Иногда это бывает нужно, Когда к проекту подключаются новые библиотеки.


--------------------
Пролетал мимо.
PM MAIL   Вверх
dima32
Дата 9.10.2008, 01:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 8.10.2008

Репутация: нет
Всего: 1



я создал новую директорию t1
и в ней
Код

dima@rdvs:~/eclipse_cpp/workspace/t1$ qmake -project
dima@rdvs:~/eclipse_cpp/workspace/t1$ qmake t1.pro 
QFile::open: No file name specified
QFile::open: No file name specified
.................................
QFile::open: No file name specified
qt_config.prf:8: Unknown test function: debug
qt_functions.prf:1: Unknown test function: defineReplace
qt_functions.prf:18: Unknown test function: defineTest


да и ещё до этого  я нашёл  в интернете упоминания про переменные окружения и выставил
export QTDIR=/usr/share/qt4
export PATH=$PATH:$QTDIR/bin

PM MAIL   Вверх
bsa
Дата 9.10.2008, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



dima32, тебе нужно создать проект QT Application (или как там его) - для этого нужно установить интегратор (искать на сайте троллей). Иначе у тебя будут проблемы (такие, как сейчас).
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0753 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.