Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ QT项目未定义的符号_C++_Qt - Fatal编程技术网

C++ QT项目未定义的符号

C++ QT项目未定义的符号,c++,qt,C++,Qt,在我将一个类添加到QT项目并实例化它之后,发生了一个链接器错误 Undefined symbols for architecture x86_64: "Main::Main(QWidget*)", referenced from: Application::Application(int, char**) in Application.o 文件结构如下所示: src/ Widgets/ Main.hpp Main.cpp Application.hpp

在我将一个类添加到QT项目并实例化它之后,发生了一个链接器错误

Undefined symbols for architecture x86_64:
  "Main::Main(QWidget*)", referenced from:
      Application::Application(int, char**) in Application.o
文件结构如下所示:

src/
  Widgets/
    Main.hpp
    Main.cpp
  Application.hpp
  Application.cpp
main.cpp
Main.hpp的内容:

Main.cpp,其定义显然无法找到:

Main::Main(QWidget* parent) : QMainWindow(parent)
{
}
它在Application.cpp中实例化:

.pro文件的一部分:


为什么会发生这种错误?定义很清楚。

我们可以看到完整的编译命令吗?你把所有东西都打扫干净了吗?@quantdev我打扫并建造了新的。这是Qt Creator的全部编译输出:您是否已将Qt+=核心小部件添加到pro文件中?@Nejat是的,Qt+=核心gui小部件webkitwidgets svg
Main::Main(QWidget* parent) : QMainWindow(parent)
{
}
#include "Widgets/Main.hpp"
...
QMainWindow* window_main = new Main;
window_main->show();
HEADERS        += \
    src/Application.hpp \
    src/Widgets/Main.hpp

SOURCES        += \
    main.cpp \
    src/Application.cpp \
    src/Widgets/Main.cpp

INCLUDEPATH    += \
    src \
    src/Widgets