3

我已将 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 = 
4

2 回答 2

2

您的包含似乎是错误的:

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

由于您没有将 QCustomPlot 文件夹添加到您的INCLUDEPATH中,因此您需要包含该文件,如下所示:

#include "QCustomPlot/qcustomplot.h"

或者,您可以更改INCLUDEPATH如下:

INCLUDEPATH += $$QT_PROJECT_DIR/QCustomPlot/

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

#include "qcustomplot.h"

避免在源文件和头文件本身中使用这种相对包含路径是一个经验法则,因为结构可以随时更改,或者在不同的机器上可能会有所不同,等等。构建系统和包含路径可以更好地解决它。

于 2014-01-12T08:22:42.147 回答
0

我遇到了同样的问题并且已经解决了。

这是由 .qcustomplot 对象的路径引起的xxx.ui

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

第 2 步:右键单击 qcustomplot 项

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

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

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

于 2017-03-30T02:46:10.127 回答