我在Windows 8.1上。我想从命令行构建Qt应用程序,就像我常常使用的Unix trooper一样。嗯,实际上,我希望事情更加自动化!在想知道为什么qmake不会生成正确的Makefile并手工编辑它们之后,我终于意识到我可以添加到Qt .pro文件中的Qt变量。 (自从关于Qt 3-something,我已经Qt' ed,所以最后灯泡继续:) 这是帮助刷新死脑细胞的最简单的应用程序。
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello Qt!");
label->show();
return app.exec();
}
.pro文件:
######################################################################
# Automatically generated by qmake (3.0) Sat Aug 23 16:38:04 2014
######################################################################
TEMPLATE = app
TARGET = HelloQt
INCLUDEPATH += .
#why do I need these
INCLUDEPATH += "C:\Qt\Qt5.3.1\5.3\msvc2013_64\include\qtwidgets"
LIBS += "C:\Qt\Qt5.3.1\5.3\msvc2013_64\lib\Qt5widgets.lib"
#why does the following line do nothing
qmake: Qt += widgets
CONFIG -= X86
# Input
SOURCES += hello.cpp
为什么我需要指定小部件INCLUDEPATH和LIBS才能成功构建? 据我所知,Qt + =小部件不是Qt变量的有效补充。 为什么不?如果我没有指定Qt5Widgets include和libs,并且我运行nmake,则会收到与未找到QApplication包含和/或链接器错误相关的错误。 使用.pro文件中的这两行,一切正常。有没有人碰到这种事情,我错过了什么吗?
答案 0 :(得分:1)
该行应该更像QT += core gui widgets
。这将设置INCLUDEPATH和LIBS。