Domanda

Ho fatto una piccola applicazione Qt e sto cercando di eseguirlo Thru Command Prompt su 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();
}
.

dopo aver fatto qmake -project e poi qmake -TestPrg.pro. Quindi provo make, qui fallisce con il seguente errore:

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 guardiamo makefile.debug, linea numero 58 e aggiungi una scheda prima di "<<", si lamenta a un altro altro numero di linea. Quindi sento che c'è qualcosa di sbagliato nelle opzioni del compilatore, qualcuno può guidare come farlo funzionare.

Grazie Alot

È stato utile?

Soluzione

Ho appena fatto un esempio di esempio sulla mia macchina. Il codice va sotto, ma hai almeno alcuni errori, vale a dire:

    .
  • Si utilizza QmainWindow per essere l'applicazione in quanto sembra opposta alla QApplication. Non è intenzione di compilare.

  • rispettivamente, è necessario includere la QApplication anziché QMainWindow.

  • ti manca un semi-colon dopo la prima istruzione nella funzione principale.

  • si costruisce un QLabel sullo heap inutilmente. In questo particolare scenario, potrebbe essere un semplice oggetto Stack.

  • Si utilizza richiamare Qmake come qmake -foo anziché solo qmake o make foo.

  • Si sta tentando di utilizzare "Make" nel prompt dei comandi di Windows al contrario di nmake o jom. Se usi Visual Studio e MSVC, non mescolarlo con MINGW, Cygwin e altre cose. Basta usare nMake, altrimenti, sì, utilizzare rendendo le ultime opzioni.

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();
}
.

Main.Pro

TEMPLATE = app
TARGET = main
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
SOURCES += main.cpp
.

Build ed Esegui

* qmake
* nmake
* main.exe
.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top