caisongpo1 2020-08-07 21:21 采纳率: 20%
浏览 139
已采纳

vs2013+Qt5.5.0 主项目调用Qt Libary中新建的Widget链接报错

开发环境:VS2013 + Qt5.5.0 只编译32位

主程序是一个MainWindow,想要调用Qt Libary中声明的Widget,添加到主程序中。子程序Widget中没有声明和实现任何函数。

子程序的dll和主程序exe生成在同一个文件夹Bin中

子程序的Lib生成在一个文件夹Lib中

子程序widget的头文件拷贝到一个文件夹Include中

主程序添加了对Include、Lib目录的引用,添加了lib文件

在子程序中添加一个不带ui的类,并且添加函数,在主程序中调用没有问题

现在的问题是,在主程序中声明子程序widget的指针没有问题,但是在主程序的构造函数中初始化widget,会报链接的问题,问题如下所示:

错误 1 error LNK2019: 无法解析的外部符号 "public: __thiscall ScoutWidget::ScoutWidget(class QWidget *)" (??0ScoutWidget@@QAE@PAVQWidget@@@Z),该符号在函数 "public: __thiscall WorkWidget::WorkWidget(class QWidget *)" (??0WorkWidget@@QAE@PAVQWidget@@@Z) 中被引用 D:\DKXK\src\DKXK\workwidget.obj DKXK

错误 2 error LNK1120: 1 个无法解析的外部命令 D:\DKXK\bin\DKXK.exe DKXK

代码如下所示:
子程序widget h文件和cpp文件

h文件:

#ifndef SCOUTWIDGET_H
#define SCOUTWIDGET_H

#include <QWidget>
#include "ui_scoutwidget.h"

class ScoutWidget : public QWidget
{
    Q_OBJECT

public:
    ScoutWidget(QWidget *parent = 0);
    ~ScoutWidget();

private:
    Ui::ScoutWidget ui;
};

#endif // SCOUTWIDGET_H


cpp文件:

#include "scoutwidget.h"

ScoutWidget::ScoutWidget(QWidget *parent)
    : QWidget(parent)
{
    ui.setupUi(this);
}

ScoutWidget::~ScoutWidget()
{

}

主程序:

h文件:

#include "scoutwidget.h"

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow ui;

    ScoutWidget *scoutWidget;
};

#endif // MAINWINDOW_H

源文件:

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);

    scoutWidget = new ScoutWidget(this);
}

生手,搞了两天了,百度了很多方法都没用,无可奈何了。跪求大神帮忙

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-08-07 21:39
    关注
    把
    ScoutWidget::ScoutWidget(QWidget *parent)
        : QWidget(parent)
    {
        ui.setupUi(this);
    }
    
    ScoutWidget::~ScoutWidget()
    {
    
    }
    这些写在.h里面,不要cpp,看看是否可以
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?