Qt 5.3.1:为什么我需要为小部件设置包含路径和库

时间:2014-08-24 04:07:56

标签: qt

我在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文件中的这两行,一切正常。有没有人碰到这种事情,我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

该行应该更像QT += core gui widgets。这将设置INCLUDEPATH和LIBS。