各位大神,我最近做一个项目,需要将 MDISubWindow封装在
DLL中,有主窗体调用DLL生成 MDISubWindow窗体,然后贴在 MDIArea中,我尝试写了一个简单的例子,可以
编译通过,但是链接无法通过,始终报
Igbqcore.obj:-1:
错误:LNK2019: 无法解析的外部符号 "public: __thiscall CoreForm::CoreForm(class QWidget *)" (??0CoreForm@@QAE@PAVQWidget@@@Z),该符号在函数 "public: class QWidget * __thiscall GBQCore::OpenFile(void)" (?OpenFile@GBQCore@@QAEPAVQWidget@@XZ) 中被引用
抱歉,小弟刚接触QT一直
没有找到解决办法,求大神帮助一下!非常感谢!
接口定义单元:
#ifndef IGBQCORE_H
#define IGBQCORE_H
#include "GBQCore_global.h"#include <QtWidgets/QWidget>class GBQCORESHARED_EXPORT GBQCore{
public:
GBQCore();
~GBQCore();
public:
QWidget*
OpenFile();};
extern "C" GBQCORESHARED_EXPORT GBQCore*
getGBQCore();
#endif // IGBQCORE_H 我定义的实例窗体:
#ifndef COREFORM_H
#define COREFORM_H
#include <QtWidgets/QWidget>namespace Ui
{
class CoreForm;}
class CoreForm
:
public QWidget{
Q_OBJECT public:
explicit CoreForm(QWidget
*parent
=
0);
~
CoreForm();
private:
Ui::CoreForm
*
ui;};
#endif // COREFORM_H 也就是说dll导出的实际上是上述窗体。
代码在附件中,我试用QT5.0.1做的,感谢大家支持。
实例文件
GBQCore.zip (8 K) 下载次数:3