Link2019:调用对话框qt的未解析的外部符号
Link2019: Unresolved external symbol for calling dialog qt
我是QT编程的新手,当我试图让程序打开一个我按下按钮创建的新对话框时,我遇到了这个奇怪的错误。
我试图打开table.ui
, robotdance.ui
和graph.ui
从scouting.ui
按下一个按钮。在scouting.cpp
:
table *teamtable = new table(this); teamtable->show();
我已经将。ui的头文件包含到scouting.cpp
中,但它给了我这个错误:
scouting.obj: 1:
错误:LNK2019:未解析的外部符号"public: __thiscall graph::graph(类QWidget *)"(??0graph@@QAE@PAVQWidget@@@Z)在函数"private: void __thiscall scout::on_actionGraphs_triggered(void)"(? on_actionGraphs_triggered@Scouting@@AAEXXZ)
又出现了两个类似的错误。
为什么会发生这种情况?我按照这个家伙的教程做了,但他似乎没有得到任何错误。
scouting.cpp:
http://pastebin.com/NEEu9jmM table.h:
http://pastebin.com/BMDCkcwJ table.cpp
在附加评论部分,因为我不能发布超过2个链接。
我相信您正在windows上构建应用程序。我怀疑visual studio项目文件没有随着添加的文件更新,这就是导致问题的原因。只需删除visual studio构建文件夹,然后重新构建。
通常有两个可能的原因:
A)您没有将
graph.cpp
(和其他.cpp
文件)添加到您的.pro
文件
B)你的头文件看起来有点像这样
class graph : public QWidget
{
public:
graph( QWidget* parent );
~graph();
...
}
但是你的源文件(.cpp)不包含这个:
#include "graph.h"
graph::graph( QWidget* parent ) :
QWidget( parent )
{
...
}
graph::~graph()
{
...
}
链接器无法将所有目标文件链接在一起。
- 您的头文件和源文件添加到您的项目?
- 如果你在Qt中使用任何库,你可以将它们添加到项目的
.pro
文件(例如:QT += core gui webkitwidgets network
) - 添加你在代码中使用的所有类的库指令。(如
#include <QDialog>
) - 不要忘记从你的项目路径中删除所有编译器生成的输出目录,注意不要删除你的项目的源目录,在删除项目的输出目录后,首先右键单击你的项目,点击
Run qmake
,然后构建你的项目。
相关文章:
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- 未解析的外部符号_MsiLocateComponentW@12.
- 在C++中使用 gRPC 时未解析的外部符号
- LibPrivoxy: 未解析的外部符号 __declspec(dllimport) int __stdcall Sta
- 尝试从 XamlApplication 编译 C++/WinRT 空白应用程序时,我收到未解析的外部符号 winrt_make_*
- 我收到错误LNK2001:未解析的外部符号(C++代码)
- 可视抽象类 c++(错误 LNK 2001:未解析的外部符号)
- 如何摆脱C++中未解析的外部符号"private: static char"错误?
- 当 lib 已添加到其他依赖项时,如何在 VS 中调试未解析的外部符号错误
- 仅在少数方法(静态或共享库)中解析的外部符号
- 未解析的外部符号"__declspec(dllimport)与 Spdlog c++ 库
- 函数 _main (OPENGL C++) 中引用的未解析的外部符号 ________
- 错误LNK2019未解析的外部符号"public: __thiscall SLinkList<char>::SLinkList<char>(void)"
- 使用静态 constexpr 成员的未解析外部符号
- 引入参数化构造函数后显示 LNK 2019 未解析外部符号的代码错误
- Dlib LNK2001未解析的外部符号USER_ERROR__consistent_build_configurati
- 矛盾的未解决的外部符号+未使用的库与VS2017和FFMPEG 4
- 链接器错误:切换到unicode生成给出:未解析的外部符号WinMain
- 类模板上一个特定函数的未解析外部符号
- LNK2001:未解析的外部符号public:static类std::vector