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没有抱怨。

当我在专业文件中包含VPATH时,解决了相同的问题

例如:VPATH+=..//库/INCLUDE+=..//图书馆/

此外,对于qt 5,我们不需要在专业文件中包含DEPENDPATH

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

编辑:此外,他们在Qt 5中悄悄地改变了DEPENDPATH的行为。从Qt 5开始,qmake现在在查找SOURCESHEADERSconfig += depend_includepath)时默认使用INCLUDEPATH。只要放下DEPENDPATH线,你就应该表现得很好。

INCLUDEPATH += "Dir"

参考:.pr文件中的Qmake变量

相关内容

  • 没有找到相关文章

最新更新