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 makeaqui 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

Foi útil?

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 somente qmake ou make foo.

  • Você está tentando usar "make" no prompt de Comando do Windows em oposição a nmake ou jom.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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top