2015-10-25 3 views
0

Я пытаюсь запустить программу hello world, и учебники не работают для меня.Qt Hello World Tutorial не работает

Я предполагаю, что это как-то связано с qt4 <-> qt5 и linux <-> windows путаницы.

Я нахожусь на Ubuntu 14.04, 64 бит. Я сделал sudo apt-get install build-essential и sudo apt-get install qt5-default.

Это код в моем main.cpp:

#include <QApplication> 
#include <QLabel> 

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

Я запустите следующие команды:

qmake -project 
qmake test.pro (for some reason it's not "main.pro") 
make 

Вот сгенерированный файл .pro:

###################################################################### 
# Automatically generated by qmake (3.0) So. Okt. 25 15:51:35 2015 
###################################################################### 
TEMPLATE = app 
TARGET = test 
INCLUDEPATH += . 
# Input 
SOURCES += mymain.cpp 

И тогда я получаю QApplication: No such file or directory. Зачем?

+0

.pro имя файла, как правило, имя каталога, поэтому это test.pro, btw. – hyde

+0

что такое 'test.pro'? и почему вы используете '-project' – CroCo

+0

################################################################################################# ############################## # Автоматически генерируется qmake (3.0) So. Okt. 25 15:51:35 2015 ################################################### ##################### TEMPLATE = приложение TARGET = тест INCLUDEPATH + =. # Вход ИСТОЧНИКИ + = mymain.cpp – user3182532

ответ

1

Вам не нужен необходимый модуль из файла .pro. По-видимому qmake -project не добавляет это по умолчанию (имеет смысл, поскольку не все приложения Qt являются приложениями виджетов). Так проверить и добавить:

QT += widgets 

Это потому, что Qt5 имеет виджеты в отдельном модуле (Qt4 имел их в гуй) и QApplication является частью того, что, как показано на docs тоже. Два модуля, которые qmake добавляет автоматически (и вам нужно удалить, если вы не хотите их), являются ядро ​​ и gui (задокументировано here), другие вы должны добавить в .pro явно.


Некоторые примечания: Вы обычно работают qmake -project только один раз, чтобы создать первоначальный файл .pro. Затем вам нужно отредактировать его вручную и не хотите, чтобы он был перезаписан! Затем вы никогда не редактируете Makefile вручную, вместо этого вы регенерируете их, запустив qmake после редактирования файла .pro.

+0

Привет hyde, что вы подразумеваете под словом "add"? Добавить где? В файле .pro или в файле makefile? А где именно в файлах? – user3182532

+0

@ user3182532, добавьте его в исходный файл проекта. Вы не показывали свой файл проекта – CroCo

+0

Ох: На самом деле это не должно быть проблемой. Я установил пакет «qt5-default», так что у меня нет файла qt4 .pro! – user3182532

Смежные вопросы