qmake找不到任何源文件或头文件

时间:2013-06-21 20:24:42

标签: qt qt5 qmake

我正在尝试将我的项目从一台带有qt4的计算机带到另一台我刚刚安装qt5的计算机上,我遇到了一个非常奇怪的问题。

qmake突然找不到我的任何源文件或头文件。

这是一个极简主义的例子:

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = untitled
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp

INCLUDEPATH += $$PWD/Dir/
DEPENDPATH += $$PWD/Dir/

HEADERS  += mainwindow.h \
    f.h \

FORMS    += mainwindow.ui

Dir/f.huntitled.pro位于同一目录中的位置。我从qmake得到了这个输出:

05:18:45: Starting: "/opt/QtSDK/5.0.2/gcc/bin/qmake" 
/home/martin/Projects/untitled/untitled.pro 
-r -spec linux-g++ CONFIG+=debug CONFIG+=declarative_debug CONFIG+=qml_debug
WARNING: Failure to find: f.h
05:18:45: The process "/opt/QtSDK/5.0.2/gcc/bin/qmake" exited normally.

我完全不知道造成这种情况的原因。可能是什么问题?

编辑:

当我手动添加如下名称时:

HEADERS += Dir/f.h \

qmake不会抱怨。

2 个答案:

答案 0 :(得分:6)

当我在专业文件

中包含VPATH时,同样的问题得以解决

例如: VPATH + = ../../libraries/ INCLUDE + = ../../ libraries /

同样使用qt 5,我们不需要在pro文件中包含DEPENDPATH

答案 1 :(得分:4)

您从未定义过PWD。双美元符号'$$'前缀表示先前在pro文件中定义的qmake变量。在您的情况下,$$PWD部分是完全没必要的。如果你完全删除它,一切都应该编译得很好。

修改:此外,they quietly changed DEPENDPATH behavior in Qt 5。从Qt 5开始,qmake现在默认使用INCLUDEPATH来查找SOURCESHEADERSconfig += depend_includepath)。只需放下DEPENDPATH行就可以了。

INCLUDEPATH += "Dir"

参考:Qmake variables in .pro files