我做了一个小的QT应用程序,我试图通过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();
}
在执行
qmake -project
之后然后
qmake -TestPrg.pro
然后我尝试
make
,在这里它失败并出现以下错误: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
如果我们查看
makefile.debug
的行号58,并在“ <非常感谢
最佳答案
我刚刚在计算机上做了一个示例工作。代码如下,但是您至少有一些错误,即:
与QApplication相反,您可以使用QMainWindow作为应用程序。那不会编译。
分别,您将需要包括QApplication而不是QMainWindow。
您会在主函数中的第一条语句后错过分号。
您无需在堆上构造QLabel
。在这种特定情况下,它可能是一个简单的堆栈对象。
您可以将qmake用作qmake -foo
,而不仅仅是qmake
或make foo
。
您试图在Windows命令提示符下使用“ make”,而不是nmake
或jom
。如果使用Visual Studio和MSVC,请不要将其与mingw,cygwin等混合使用。只需使用nmake,否则,可以,对后一个选项使用make。
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
生成并运行
* qmake
* nmake
* main.exe