我使用的是QT4.7.3, VS2008,并试图添加QuaZip库。
我得到了QuaZip, Zlib并编译它,然后我可以制作"QuaZip。自由"文件。
我添加了quazip。lib到"项目属性->配置属性->链接器->输入->附加依赖项",并包括路径。
源代码如下:
#include "Updater.h"
#include "quazip.h"
Updater::Updater(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
QuaZip *qZip = new QuaZip();
}
但是,在这里,我卡住了问题。
错误信息如下所示。
更新程序。LNK2019:未解析的外部符号"__declspec(dllimport) public: _thiscall QuaZip::QuaZip(void)"(_imp_??0QuaZip@@QAE@XZ)在函数"public: __thiscall"中引用updatater:: updatater(类QWidget *,类QFlags)"(? ? 0 updater@@qae@pavqwidget@@v ? QFlags@W4WindowType@Qt@@@@@Z美元)1>.update .exe:致命错误LNK1120: 1个未解决的外部
我知道当声明存在但定义不存在时会发生此错误。
作为查找QuaZip构造函数的结果,我发现如下。
QuaZip::QuaZip():
p(new QuaZipPrivate(this))
{
}
我怎样才能使它正确?
谢谢你的评论
我在Quazip的README文件中发现了以下消息:
如果您想将QuaZIP源直接包含到您的项目中,或者如果将QuaZIP编译为静态库"qmake CONFIG+=statliclib",你必须定义QUAZIP_STATIC宏,否则你可能会像QuaZIP符号一样遇到问题标记为未进口
也许这对你有帮助。