Я добавил файлы 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 =
Ваше включение кажется неправильным:
#include "../../qcustomplot.h"
Поскольку вы не добавляете папку QCustomPlot в свой INCLUDEPATH
, вам нужно будет включить файл следующим образом:
#include "QCustomPlot/qcustomplot.h"
В качестве альтернативы, вы можете изменить INCLUDEPATH
следующее:
INCLUDEPATH += $$QT_PROJECT_DIR/QCustomPlot/
и тогда вы можете включить заголовок без уродливой ../../
Относительная ссылка следующим образом:
#include "qcustomplot.h"
Это практическое правило, позволяющее избегать таких относительных путей включения в самих исходных файлах и файлах заголовков, поскольку структура может измениться в любое время или может отличаться на другом компьютере, и др. Это лучше разрешается системой сборки и включает пути.
Я встретил ту же проблему и решил ее.
Это было вызвано путем объекта qcustomplot в xxx.ui
,
Шаг 1: Откройте ***.ui
файл, который содержит элемент qcustomplot.
Шаг 2: Щелкните правой кнопкой мыши элемент qcustomplot
Шаг 3: Дважды щелкните путь QCustomPlot, затем измените его на QCustomPlot/qcustomplot.cpp
от ../../customplot
,
Наконец, заголовок ui_***.h
может автоматически включать QCustomPlot/qcustomplot.cpp
, вместо ../../qcustomplot.h
,
Мой родной язык не английский. Если вы обнаружите грамматическую ошибку в моем ответе, пожалуйста, сообщите мне. Позвольте мне исправить это.