Qt自动生成表单提供了错误的源代码文件路径

时间:2014-01-12 02:26:18

标签: c++ qt qmake qtgui qcustomplot

我已将qcustomplot.h / .c文件添加到我的Qt项目中。它们位于:“QT_PROJECT_DIR / QCustomPlot /".

每次我在Qt Creator中使用设计器并构建时,我都会在ui_mainwindow.h中收到此错误:

error: ../../qcustomplot.h: No such file or directory
#include "../../qcustomplot.h"

这当然是正确的,因为它位于:“QT_PROJECT_DIR / QCustomPlot /”

如何更改Qt Designer自动生成此路径的方式?

如果有帮助,这是我的.pro:

#-------------------------------------------------
#
# Project created by QtCreator 2014-01-12T00:44:44
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets widgets opengl printsupport

TARGET = Test
TEMPLATE = app

SOURCES += main.cpp\
        mainwindow.cpp \
    QCustomPlot/qcustomplot.cpp

HEADERS  += mainwindow.h \
    QCustomPlot/qcustomplot.h

FORMS    += mainwindow.ui

CONFIG += mobility
MOBILITY = 

2 个答案:

答案 0 :(得分:2)

你的包含似乎有误:

#include "../../qcustomplot.h"

由于您未将QCustomPlot文件夹添加到INCLUDEPATH,因此您需要按如下方式包含该文件:

#include "QCustomPlot/qcustomplot.h"

或者,您可以按如下方式更改INCLUDEPATH

INCLUDEPATH += $$QT_PROJECT_DIR/QCustomPlot/

然后你可以包含没有丑陋../../相对引用的标题,如下所示:

#include "qcustomplot.h"

根据经验,避免源和头文件本身中的这种相对包含路径是因为结构可以随时改变,或者在不同的机器上可能不同,等等。它可以通过构建系统更好地解决并包含路径。

答案 1 :(得分:0)

我遇到了同样的问题并解决了它。

它是由xxx.ui中的qcustomplot对象的路径引起的。

步骤1:打开包含qcustomplot项目的***.ui文件。

步骤2:右键单击qcustomplot项目

第3步:双击QCustomPlot的路径,然后将其从QCustomPlot/qcustomplot.cpp更改为../../customplot

最后,ui_***.h的标题可以自动包含QCustomPlot/qcustomplot.cpp,而不是../../qcustomplot.h

我的母语不是英语。如果您在回复中发现语法错误,请通知我。让我纠正一下。