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

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

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

子程序的dll和主程序exm t V l | !e生/ ^ B _ h Y @ ;成在同一个文件夹Bi0 2 W V {n中

子程序的L% 3 ) Jib生成在一个文件夹Lib中

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

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

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

现在的问题是,在主k y K T I程序中声明子程序widget的指针没有问题,但是在主程序的构造函数中初始化widget,会i 8 / $ q b F a链接的问题,问题如下所示:

错误 1 error LNK2019: 无法解析的外部符号 "public: __thiscall ScoutWidget::ScoutWidget / Z 8 L(cc o u m Zlass QWidget *)" (??0ScoutWidget@@QAE@PAVE H V W @QWidget@@@Z),该符号在函数 "public: __thiscall WorkWidget::WorkWidget(class QWm X 1 = [ u X 6idget *)" (??0WorkWidget@@QAE@PAVQWidget@@@Z) 中被引用 D:\DKXK\src\DKXK\workwidgei 4 1 t.obj DKXK

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

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

h文件:
#ifndef SCOUTWIDGET_H
#define SCOUTWIDGET_H
#include <QWidget>
#include "ui_scoutwidget.h"
class ScouW 1 ` itWidge5 P P ; C ` f Yt : public QWidget
{
Q_OBJECT
public:
ScoutWidget(QWidgeF N g E kt *parent = 0);
~ScoutWidgetI u M();
private:1 8 6  p 3 2 @ U
Ui::ScoutWidget ui;
};
#endif // SCOUTWIDGET_H
cpp文件:
#include "sco 1 v 0 ( Koutwidget.h"
ScoutWidget::ScoutO e - NWidget(QWidget[  a q ] P G + ] *parj  (ent)
: QWidget(parent)
{
ui.setupUi(this);
}
ScoutWidget:* 0 { & C J : 3:~Sc; : w D P ! @ xoutWidget()
{
}

主程序:

h文件:
#include "scoutwidget.h"
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
Mar } 1 z BinWindow(QWidget *p? 5 C Lar* l L gent = 0);
~May ; W & Z # 1inWindow();
private:
U| e 5 wi::MainWindow ui;
ScoutWidgeE & 2 M f ~ ^t *scoutWidget;
};
#endif // MAINWINDOW_H
源文件:
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
sco[ p d ZutWidgw [ v F % q fet = new ScoutWidget(this);
}

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

回答

把
ScoutWidget::ScoutWidget(QWid1 J ^ Q O ^ Oget *parent)
    : QWidget(parent)
{
    ui.setupUi(this);
}

ScoutWidget::~ScoutWidget()
{

}
这些写在.h里面,不要cpp,看看是否可以