#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
int rc ;
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello Qt!");
label->show();
rc = app.exec();
return(rc) ;
}
我想在命令行中编译和构建此代码。 我已经安装了qt和mingw。
首先我的命令是:
qmake -project
然后我发出这个命令。
qmake
然后qmake创建.pro文件:
TEMPLATE = app
TARGET = HELLO
INCLUDEPATH += .
# Input
SOURCES += hello.cpp
我认为这个文件必须包括'QT + =小部件',但它没有。我不知道为什么。 最后,我打电话给mingw make
它会出错。
当我添加.pro文件QT + =小部件然后调用mingw-make时,它可以工作并创建.exe文件。
然后我的问题是,为什么qmake会自动添加QT += widgets
,我该怎么做?我不想手动添加。
答案 0 :(得分:3)
我该怎么做?我不想手动添加。
您可以执行以下操作:
1)您可以使用QtCreator并选择基于小部件的应用程序。
2)qmake -project&#34; QT + =小部件&#34;
但仅此而已。 QMake不是C ++代码项目解析器。
另外,请注意,如果这对您很重要,可以使用greaterThan(QT_MAJOR_VERSION, 4):QT+=widgets
与Qt 4兼容,因为小部件位于Qt 4的gui模块中,默认情况下会添加core和gui。在Qt 5中,它们被放入了自己的小部件模块中。
答案 1 :(得分:0)
如果你是一个linux用户,你可以制作一个像这样的小bash脚本
#!/bin/bash
if [ "$1" == "-project" ]; then
qmake $@ "QT += widgets gui"
else
qmake $@
fi
(在lpapp的第2点之后)并将其放在/ usr / bin目录中..如果需要,可以将qmake重命名为qmake_old,将脚本重命名为&#34; qmake&#34;然后
#!/bin/bash
if [ "$1" == "-project" ]; then
qmake_old $@ "QT += widgets gui"
else
qmake_old $@
fi
因此您通常可以调用qmake广告,它会自动执行您想要的操作 (NB不要忘记chmod + x) 在ubuntu 14.04上测试