Qt 错误: LNK2019: 无法解析的外部符号 原因及解决办法
删除Qt中的一些用不到的函数或者添加一个新的.ui窗口的时候,我遇到了这个LINK2019无法解析的外部符号错误,网上查了半天可算解决了,写篇博客记录下。
错误原因1:函数(一般是槽函数)在.h中声明,但却没有实现
错误原因2:添加新的.ui窗体文件时编译器没有为它生成新的.obj文件而报错,需要重新执行qmake,而不是重新构建项目
首先我新建了一个界面,名为p1553B2,之后在automatic.h文件中,我include p1553B2的头文件,并且为界面类p1553B2声明了一个对象P1553B_2
#ifndef AUTOMATIC_H #define AUTOMATIC_H #include
#include
#include
#include "P1553B2.h" // 包含新窗体的头文件 namespace Ui {
class Automatic; } class Automatic : public QWidget {
Q_OBJECT public: explicit Automatic(QWidget *parent = 0); ~Automatic(); private slots: void on_P1553B2_clicked(); private: Ui::Automatic *ui; p1553B2 P1553B_2; // 为新窗体声明一个对象 }; #endif // AUTOMATIC_H
之后,我在automatic.c中的一个button的响应函数中调用P1553B_2.show();让这个界面显示
void Automatic::on_P1553B2_clicked() {
P1553B_2.show(); }
其它办法:删除debug或release路径下的文件或许也可以解决
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218055.html原文链接:https://javaforall.net
