Executando uma aplicação QT do promt de Comando no WIndows
-
21-12-2019 - |
Pergunta
Fiz uma pequena aplicação QT e eu estou tentando executá-lo através de prompt de comando no Windows:
#include <QMainWindow>
#include <QLabel>
int main(int argc,char* argv[])
{
QMainWindow a(argc,argv)
QLabel *NewLabel = new QLabel("Hi i am a label");
NewLabel->show();
return a.exec();
}
depois de fazer qmake -project
e, em seguida, qmake -TestPrg.pro
então eu tento make
aqui ele falhar com o seguinte erro:
D:\TestPrg>make
make -f Makefile.Debug
make[1]: Entering directory `D:/TestPrg'
Makefile.Debug:58: *** missing separator. Stop.
make[1]: Leaving directory `D:/TestPrg'
make: *** [debug] Error 2
Se olharmos para makefile.debug
,linha de número 58 e adicione um GUIA antes "<<",ele reclama em someother número de linha.Então, eu sinto que existe algo de errado nas opções do compilador ,alguém pode me orientar como fazer ele funcionar.
Muito obrigado
Solução
Eu tenho feito apenas um exemplo de trabalho em minha máquina.O código vai abaixo, mas você tem pelo menos alguns erros, nomeadamente:
Você usa QMainWindow por ser a aplicação como parece como oposição a QApplication.Que não vai compilar.
Respectivamente, seria necessário incluir QApplication, ao invés de incluir QMainWindow.
Você perde um ponto-e-vírgula após a primeira instrução na função principal.
Construir uma
QLabel
na pilha desnecessariamente.Neste cenário específico, que poderia ser uma simples pilha de objeto.Você usar o invocar como qmake
qmake -foo
ao invés de incluir somenteqmake
oumake foo
.Você está tentando usar "make" no prompt de Comando do Windows em oposição a
nmake
oujom
.Se você usar o Visual Studio e MSVC, não misturá-lo com mingw, o cygwin e outras coisas.Basta usar nmake, caso contrário, sim, usar o make para as últimas opções.
main.cpp
#include <QApplication>
#include <QLabel>
int main(int argc, char **argv)
{
QApplication a(argc, argv);
QLabel NewLabel("Hi i am a label");
NewLabel.show();
return a.exec();
}
principal.pro
TEMPLATE = app
TARGET = main
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
SOURCES += main.cpp
Criar e Executar
* qmake
* nmake
* main.exe