Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Как скомпилить "Hello world" в С++ Qt в Linux?  (Прочитано 2525 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Xyanight

  • Автор темы
  • Забанен
  • Участник
  • *
  • Сообщений: 147
  • Это просто какой-то Python!
    • Просмотр профиля
#include <QApplication> 
#include <QLabel>

int main(int argc, char *argv[]) { 
    QApplication a(argc, argv); 
    Qlabel  label; 
    label.setText("Hello World"); 
    label.show(); 
    a.exec(); 
}

Получаю ошибку:
test.cpp:1:51: fatal error: QApplication: No such file or directory #include <QApplication>

Не помогает:
#include <"/usr/include/qt4/QtGui/QApplication.h">
#include <"/usr/include/qt4/QtGui/QLabel.h">
та же ошибка.

Все библиотеки у меня установлены.
Это просто какой-то Python!

Оффлайн Protopopulus

  • Старожил
  • *
  • Сообщений: 1690
  • А чего вы так смотрите?..
    • Просмотр профиля
Re: Как скомпилить "Hello world" в С++ Qt в Linux?
« Ответ #1 : 13 Января 2015, 02:28:37 »
Кидай в папку с кодом файл hello.pro:
QT += gui widgets
HEADERS += *.h
SOURCES += *.cpp
TARGET = hello
Потом в консоли:
cd /папка/с_кодом
qmake hello.pro
make
Если ты владеешь знаниями, то и знания владеют тобой. (с) Protopopulus

Оффлайн Xyanight

  • Автор темы
  • Забанен
  • Участник
  • *
  • Сообщений: 147
  • Это просто какой-то Python!
    • Просмотр профиля
Re: Как скомпилить "Hello world" в С++ Qt в Linux?
« Ответ #2 : 13 Января 2015, 17:46:27 »
Получаю вот такой ответ:

No command 'gmake' found, did you mean:
 Command 'jmake' from package 'dist' (universe)
 Command 'make' from package 'make' (main)
 Command 'pmake' from package 'bmake' (universe)
 Command 'guake' from package 'guake' (universe)
 Command 'imake' from package 'xutils-dev' (main)
 Command 'vmake' from package 'hdf4-tools' (universe)
 Command 'bmake' from package 'bmake' (universe)
 Command 'fmake' from package 'freebsd-buildutils' (universe)
 Command 'mmake' from package 'mmake' (universe)
 Command 'tmake' from package 'tmake' (main)
 Command 'omake' from package 'omake' (universe)
 Command 'qmake' from package 'qtchooser' (main)
 Command 'cmake' from package 'cmake' (main)
gmake: command not found
Это просто какой-то Python!

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 3026
    • Просмотр профиля
Re: Как скомпилить "Hello world" в С++ Qt в Linux?
« Ответ #3 : 13 Января 2015, 21:02:22 »
Во-первых, не gmake, а
qmake -makefile hello.proво-вторых, возьмите любую книгу по Qt и пример программы оттуда,
а уже в него постепенно вставляйте что хотите.
Или в справке можно найти пример.
« Последнее редактирование: 13 Января 2015, 23:43:41 от Peter_I »
Пётр.

Оффлайн Xyanight

  • Автор темы
  • Забанен
  • Участник
  • *
  • Сообщений: 147
  • Это просто какой-то Python!
    • Просмотр профиля
Re: Как скомпилить "Hello world" в С++ Qt в Linux?
« Ответ #4 : 13 Января 2015, 22:11:46 »
gmake not found
Это просто какой-то Python!

Lifewalker

  • Гость
Re: Как скомпилить "Hello world" в С++ Qt в Linux?
« Ответ #5 : 13 Января 2015, 22:46:31 »
gmake not found
Написали же не gmake, а qmake. Первая буква не G, а Q.
Библиотеки/утилиты разработки QT установлены? Всякие qtlibsdev или как там они называются.

Оффлайн Xyanight

  • Автор темы
  • Забанен
  • Участник
  • *
  • Сообщений: 147
  • Это просто какой-то Python!
    • Просмотр профиля
Re: Как скомпилить "Hello world" в С++ Qt в Linux?
« Ответ #6 : 13 Января 2015, 23:30:23 »
Да все вроде поставил.
Вот, что получается:

zavulon@zavulon-System-Product-Name ~/Programming/Projects/CС++/testQt $ qmake test.pro

WARNING: Failure to find: *.h


zavulon@zavulon-System-Product-Name ~/Programming/Projects/CС++/testQt $ make

g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -o test.o test.cpp
test.cpp: In function ‘int main(int, char**)’:
test.cpp:6:2: error: ‘Qlabel’ was not declared in this scope
  Qlabel label;
  ^
test.cpp:6:9: error: expected ‘;’ before ‘label’
  Qlabel label;
         ^
test.cpp:7:2: error: ‘label’ was not declared in this scope
  label.setText("Hello World");
  ^
make: *** [test.o] Error 1
« Последнее редактирование: 13 Января 2015, 23:35:02 от Xyanight »
Это просто какой-то Python!

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5583
  • Все по палатам!
    • Просмотр профиля
Re: Как скомпилить "Hello world" в С++ Qt в Linux?
« Ответ #7 : 13 Января 2015, 23:38:22 »
Xyanight,отличить можете QLabel и Qlabel?
Извините, я все еще учусь

Оффлайн Xyanight

  • Автор темы
  • Забанен
  • Участник
  • *
  • Сообщений: 147
  • Это просто какой-то Python!
    • Просмотр профиля
Re: Как скомпилить "Hello world" в С++ Qt в Linux?
« Ответ #8 : 14 Января 2015, 01:30:47 »
Xyanight,отличить можете QLabel и Qlabel?

Да, спасибо, все работает!
Это просто какой-то Python!

 

Страница сгенерирована за 0.049 секунд. Запросов: 25.