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


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

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

  • Старожил
  • *
  • Сообщений: 1687
  • А чего вы так смотрите?..
    • Просмотр профиля
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

  • Старожил
  • *
  • Сообщений: 2112
    • Просмотр профиля
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

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5034
  • Все по палатам!
    • Просмотр профиля
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.104 секунд. Запросов: 24.