Esecuzione di un'applicazione QT dal prompt dei comandi in Windows
-
21-12-2019 - |
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
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é soloqmake
omake foo
. -
Si sta tentando di utilizzare "Make" nel prompt dei comandi di Windows al contrario di
nmake
ojom
. 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
.