Не получается запустить простейшую прожку (С++)

Модератор: Модераторы разделов

dima2387
Сообщения: 4
ОС: Mandriva 2008.0

Не получается запустить простейшую прожку

Сообщение dima2387 »

У меня такая проблема, начал изучать программирование в линухе читаю книгу там пример. Вообщем набрал его не работает, товарищь прислал исходники к подобной проге, не собирается. Язык С++.
Код прожки из пособия:

#include <QApplication>
#include <QLabel>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel *label = new QLabel("ypa");
label->show();
return app.exec();
}

Этот текст сохраняю в файле с расширением срр. Затем открываю терминал в папке проекта и набираю
qmake - project - создается файл с именем папки в которой лежит срр файл и расширением pro
qmake name_of_project.pro - появляется файл с именем Makefile
make - ниже выложил что пишет после этой команды
[dima@localhost xxx]$ make
g++ -c -pipe -Wall -W -O2 -DQT_NO_DEBUG -DQT_SHARED -DQT_THREAD_SUPPORT -I/usr/lib/qt3/mkspecs/default -I. -I. -I/usr/lib/qt3//include -o 1.o 1.cpp
1.cpp:1:24: error: QApplication: Нет такого файла или каталога
1.cpp:2:18: error: QLabel: Нет такого файла или каталога
1.cpp: In function ‘int main(int, char**)’:
1.cpp:6: ошибка: нет декларации ‘QApplication’ в этой области видимости
1.cpp:6: ошибка: expected `;' before ‘app’
1.cpp:7: ошибка: нет декларации ‘QLabel’ в этой области видимости
1.cpp:7: ошибка: нет декларации ‘label’ в этой области видимости
1.cpp:7: ошибка: expected type-specifier before ‘QLabel’
1.cpp:7: ошибка: expected `;' before ‘QLabel’
1.cpp:9: ошибка: нет декларации ‘app’ в этой области видимости
1.cpp: At global scope:
1.cpp:4: предупреждение: unused parameter ‘argc’
1.cpp:4: предупреждение: unused parameter ‘argv’
make: *** [1.o] Ошибка 1

Пробовал под рутом, тоже самое. Дистрибутив Mandriva 2008.0 PowerPack+. Если кто-то знает как мне исправить это и ему не лень написать помогите плиз.
Спасибо сказали:
Аватара пользователя
S7a1k3r
Сообщения: 159
Статус: Белгородский LUG
ОС: Arch Linux

Re: Не получается запустить простейшую прожку

Сообщение S7a1k3r »

dima2387 писал(а):
09.05.2008 18:07
У меня такая проблема, начал изучать программирование в линухе читаю книгу там пример. Вообщем набрал его не работает, товарищь прислал исходники к подобной проге, не собирается. Язык С++.
Код прожки из пособия:

#include <QApplication>
#include <QLabel>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel *label = new QLabel("ypa");
label->show();
return app.exec();
}

Этот текст сохраняю в файле с расширением срр. Затем открываю терминал в папке проекта и набираю
qmake - project - создается файл с именем папки в которой лежит срр файл и расширением pro
qmake name_of_project.pro - появляется файл с именем Makefile
make - ниже выложил что пишет после этой команды
<убрано>

Пробовал под рутом, тоже самое. Дистрибутив Mandriva 2008.0 PowerPack+. Если кто-то знает как мне исправить это и ему не лень написать помогите плиз.


Код: Выделить всё

#include <QtGui/QApplication>
#include <QtGui/QLabel>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel *label = new QLabel("ypa");
label->show();
return app.exec();
}
Спасибо сказали:
sergio
Сообщения: 436
Статус: Интересующийся новичок
ОС: Debian GNU/Linux 4 & 5

Re: Не получается запустить простейшую прожку

Сообщение sergio »

Посмотрите, где у вас хедеры лежат. И лежат ли. Какой куте вы пользуете - 3 или 4?

У себя вижу:

Код: Выделить всё

$ find /usr/include/ -iname 'QApp*'
/usr/include/qt3/private/qapplication_p.h
/usr/include/qt3/qapplication.h
/usr/include/qt3/qapp.h
/usr/include/qt4/Qt/qapplication.h
/usr/include/qt4/QtGui/QApplication
/usr/include/qt4/QtGui/qapplication.h
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Спасибо сказали:
Аватара пользователя
Assuri
Сообщения: 678
Статус: #include <brain.h>
ОС: Fedora 12

Re: Не получается запустить простейшую прожку

Сообщение Assuri »

Ну вот же эта строка обо всём говорит:
g++ -c -pipe -Wall -W -O2 -DQT_NO_DEBUG -DQT_SHARED -DQT_THREAD_SUPPORT -I/usr/lib/qt3/mkspecs/default -I. -I. -I/usr/lib/qt3//include -o 1.o 1.cpp


Вот так компилируйте:
-qmake-qt4
-make
Спасибо сказали:
sergio
Сообщения: 436
Статус: Интересующийся новичок
ОС: Debian GNU/Linux 4 & 5

Re: Не получается запустить простейшую прожку

Сообщение sergio »

-DooM- писал(а):
09.05.2008 20:00
Ну вот же эта строка обо всём говорит:

В том и фокус, что заголовки, которые при этом товарищ подключает, у меня лежат в папочках куте4, а в куте3 они называются по-другому. ;)
DooM, напишите товарищу подробно, он же наверняка не поймет куда поместить ваши твои "-qmake-qt4 -make". Или попробует так ввести в комстроке. :)
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Спасибо сказали:
dima2387
Сообщения: 4
ОС: Mandriva 2008.0

Re: Не получается запустить простейшую прожку

Сообщение dima2387 »

Не помогло, тоже самое :help:
Спасибо сказали:
dima2387
Сообщения: 4
ОС: Mandriva 2008.0

Re: Не получается запустить простейшую прожку

Сообщение dima2387 »

Оно не хочет :cray:

[dima@localhost xxx]$ qmake-qt4
bash: qmake-qt4: command not found
[dima@localhost xxx]$ qmake -qt4
***Unknown option -qt4

Возможно оно незнает где лежат мои библиотеки qt? Спасибо что попытались помочь.

-DooM- писал(а):
09.05.2008 20:00
Вот так компилируйте:
-qmake-qt4
-make


Оно не хочет :cray:

[dima@localhost xxx]$ qmake-qt4
bash: qmake-qt4: command not found
[dima@localhost xxx]$ qmake -qt4
***Unknown option -qt4
Спасибо сказали:
sergio
Сообщения: 436
Статус: Интересующийся новичок
ОС: Debian GNU/Linux 4 & 5

Re: Не получается запустить простейшую прожку

Сообщение sergio »

У вас не стоит Qt4, я догадываюсь. ;)
Лезьте в свой пакетный менеджер и ставьте qt4 qt4-dev и что там они еще захотят.
У меня собралось и работает.

В папке hello где ваше hello.cpp:

Код: Выделить всё

rm Makefile hello.pro
qmake-qt4 -project
qmake-qt4
make
./hello


У меня в системе это вроде как пакеты

Код: Выделить всё

i   libqt4-core                           - Qt 4 core non-GUI functionality runtime library
i   libqt4-dev                            - Qt 4 development files
i   libqt4-gui                            - Qt 4 core GUI functionality runtime library


Код: Выделить всё

$ apt-file search bin/qmake
libqt4-dev: usr/bin/qmake-qt4
libqt4-dev: usr/share/qt4/bin/qmake
qt-x11-free-dbg: usr/lib/debug/usr/bin/qmake-qt3
qt3-dev-tools: usr/bin/qmake-qt3
qt3-dev-tools: usr/share/qt3/bin/qmake


qmake в 4ой версии тоже в либ-дев переехал.
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Спасибо сказали:
Аватара пользователя
aroueris
Сообщения: 3
ОС: Debian

Re: Не получается запустить простейшую прожку

Сообщение aroueris »

dima2387 писал(а):
09.05.2008 18:07
У меня такая проблема, начал изучать программирование в линухе читаю книгу там пример. Вообщем набрал его не работает, товарищь прислал исходники к подобной проге, не собирается. Язык С++.
Код прожки из пособия:

#include <QApplication>
#include <QLabel>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel *label = new QLabel("ypa");
label->show();
return app.exec();
}

Этот текст сохраняю в файле с расширением срр. Затем открываю терминал в папке проекта и набираю
qmake - project - создается файл с именем папки в которой лежит срр файл и расширением pro
qmake name_of_project.pro - появляется файл с именем Makefile
make - ниже выложил что пишет после этой команды
[dima@localhost xxx]$ make
g++ -c -pipe -Wall -W -O2 -DQT_NO_DEBUG -DQT_SHARED -DQT_THREAD_SUPPORT -I/usr/lib/qt3/mkspecs/default -I. -I. -I/usr/lib/qt3//include -o 1.o 1.cpp
1.cpp:1:24: error: QApplication: Нет такого файла или каталога
1.cpp:2:18: error: QLabel: Нет такого файла или каталога
1.cpp: In function ‘int main(int, char**)’:
1.cpp:6: ошибка: нет декларации ‘QApplication’ в этой области видимости
1.cpp:6: ошибка: expected `;' before ‘app’
1.cpp:7: ошибка: нет декларации ‘QLabel’ в этой области видимости
1.cpp:7: ошибка: нет декларации ‘label’ в этой области видимости
1.cpp:7: ошибка: expected type-specifier before ‘QLabel’
1.cpp:7: ошибка: expected `;' before ‘QLabel’
1.cpp:9: ошибка: нет декларации ‘app’ в этой области видимости
1.cpp: At global scope:
1.cpp:4: предупреждение: unused parameter ‘argc’
1.cpp:4: предупреждение: unused parameter ‘argv’
make: *** [1.o] Ошибка 1

Пробовал под рутом, тоже самое. Дистрибутив Mandriva 2008.0 PowerPack+. Если кто-то знает как мне исправить это и ему не лень написать помогите плиз.

Удали все пакети с qt4 и компилируй так же как ты делал, дочитывая книгу до конца
Спасибо сказали:
Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: Не получается запустить простейшую прожку

Сообщение RasenHerz »

а не проще ли в $PATH добавить путь к Qt4?
к примеру, у меня это выглядит так:

Код: Выделить всё

megahertz@magahertz-pc:~$ PATH=/usr/share/Trolltech/Qt4.4/bin:$PATH
megahertz@megahertz-pc:~$ echo $PATH
/usr/share/Trolltech/Qt4.4/bin:/usr/local/bin:/usr/bin:/bin:/usr/games

теперь можно не беспокоится - будет выполнятся qmake qt4 =)
Спасибо сказали: