Qt在图书馆中的应用

Qt在图书馆中的应用,qt,Qt,我需要创建一个基于Qt的dinamic库,其中包含一些函数,例如GetValue。 此函数应使用QLineEdit调用对话框并返回输入值。 我创建了没有Qt类的结构。源代码编译成功,我得到了dll 但当我添加Qt对象时,会出现如下链接错误: guilib2.obj:错误LNK2019:未解析的外部符号“\u declspec(dllimport)public:virtual\u thiscall QApplication::~QApplication(void)”(\u imp\uu1qappl

我需要创建一个基于Qt的dinamic库,其中包含一些函数,例如GetValue。 此函数应使用QLineEdit调用对话框并返回输入值。 我创建了没有Qt类的结构。源代码编译成功,我得到了dll

但当我添加Qt对象时,会出现如下链接错误:

guilib2.obj:错误LNK2019:未解析的外部符号“\u declspec(dllimport)public:virtual\u thiscall QApplication::~QApplication(void)”(\u imp\uu1qapplication)@@UAE@XZ)在函数“void\uu cdecl GetValue(void)”中引用(?GetValue@@YAXXZ)

guilib2.obj:错误LNK2019:未解析的外部符号“\u declspec(dllimport)public:\u thiscall QApplication::QApplication(int&,char**,int)”(\u imp??0QApplication@@QAE@AAHPAPADH@Z) 在函数“void\uu cdecl GetValue(void)”中引用(?GetValue@@YAXXZ)

如何解决这个问题

源代码如下:

guilib2.h

  #ifndef GUILIB2_H
  #define GUILIB2_H

  #include "GUILib2_global.h"

  GUILIB2SHARED_EXPORT void GetValue();

  #endif // GUILIB2_H
GUILib2_Global.h

  #ifndef GUILIB2_GLOBAL_H
  #define GUILIB2_GLOBAL_H

  #include <QtCore/qglobal.h>

  #if defined(GUILIB2_LIBRARY)
  #  define GUILIB2SHARED_EXPORT Q_DECL_EXPORT
  #else
  #  define GUILIB2SHARED_EXPORT Q_DECL_IMPORT
  #endif

  #endif // GUILIB2_GLOBAL_H

您应该在.pro文件中添加此语句:

QT += widgets
  TARGET = GUILib2
  TEMPLATE = lib
  QT += gui
  DEFINES += GUILIB2_LIBRARY

  SOURCES += guilib2.cpp

  HEADERS += guilib2.h\
          GUILib2_global.h
QT += widgets