У меня такая проблема, начал изучать программирование в линухе читаю книгу там пример. Вообщем набрал его не работает, товарищь прислал исходники к подобной проге, не собирается. Язык С++.
Код прожки из пособия:
#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+. Если кто-то знает как мне исправить это и ему не лень написать помогите плиз.
Не получается запустить простейшую прожку (С++)
Модератор: Модераторы разделов
-
dima2387
- Сообщения: 4
- ОС: Mandriva 2008.0
-
S7a1k3r
- Сообщения: 159
- Статус: Белгородский LUG
- ОС: Arch Linux
Re: Не получается запустить простейшую прожку
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: Не получается запустить простейшую прожку
Посмотрите, где у вас хедеры лежат. И лежат ли. Какой куте вы пользуете - 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.hDebian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
-
Assuri
- Сообщения: 678
- Статус: #include <brain.h>
- ОС: Fedora 12
Re: Не получается запустить простейшую прожку
Ну вот же эта строка обо всём говорит:
Вот так компилируйте:
-qmake-qt4
-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
Вот так компилируйте:
-qmake-qt4
-make
-
sergio
- Сообщения: 436
- Статус: Интересующийся новичок
- ОС: Debian GNU/Linux 4 & 5
Re: Не получается запустить простейшую прожку
В том и фокус, что заголовки, которые при этом товарищ подключает, у меня лежат в папочках куте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
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
-
dima2387
- Сообщения: 4
- ОС: Mandriva 2008.0
Re: Не получается запустить простейшую прожку
Не помогло, тоже самое 
-
dima2387
- Сообщения: 4
- ОС: Mandriva 2008.0
Re: Не получается запустить простейшую прожку
Оно не хочет
[dima@localhost xxx]$ qmake-qt4
bash: qmake-qt4: command not found
[dima@localhost xxx]$ qmake -qt4
***Unknown option -qt4
Возможно оно незнает где лежат мои библиотеки qt? Спасибо что попытались помочь.
Оно не хочет
[dima@localhost xxx]$ qmake-qt4
bash: qmake-qt4: command not found
[dima@localhost xxx]$ qmake -qt4
***Unknown option -qt4
[dima@localhost xxx]$ qmake-qt4
bash: qmake-qt4: command not found
[dima@localhost xxx]$ qmake -qt4
***Unknown option -qt4
Возможно оно незнает где лежат мои библиотеки qt? Спасибо что попытались помочь.
Оно не хочет
[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: Не получается запустить простейшую прожку
У вас не стоит Qt4, я догадываюсь. 
Лезьте в свой пакетный менеджер и ставьте qt4 qt4-dev и что там они еще захотят.
У меня собралось и работает.
В папке hello где ваше hello.cpp:
У меня в системе это вроде как пакеты
qmake в 4ой версии тоже в либ-дев переехал.
Лезьте в свой пакетный менеджер и ставьте 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/qmakeqmake в 4ой версии тоже в либ-дев переехал.
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
-
aroueris
- Сообщения: 3
- ОС: Debian
Re: Не получается запустить простейшую прожку
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: Не получается запустить простейшую прожку
а не проще ли в $PATH добавить путь к Qt4?
к примеру, у меня это выглядит так:
теперь можно не беспокоится - будет выполнятся qmake 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 =)