首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QuaZip与VS2008在Windows上的应用

QuaZip与VS2008在Windows上的应用
EN

Stack Overflow用户
提问于 2012-01-04 06:59:45
回答 1查看 996关注 0票数 3

我正在使用QT4.7.3、VS2008并试图添加QuaZip库。

我得到了QuaZip,Zlib并编译了它,然后我可以生成"quazip.lib“文件。

我将quazip.lib添加到“property>Configuration>Linker->Input->附加依赖项”中,并包括路径。

我编写了下面的源代码。

代码语言:javascript
复制
#include "Updater.h"
#include "quazip.h"

Updater::Updater(QWidget *parent, Qt::WFlags flags)
    : QMainWindow(parent, flags)
{
    ui.setupUi(this);

    QuaZip *qZip = new QuaZip();
}

但是,在这里,我陷入了麻烦。

错误消息如下所示。

(??0Updater@@QAE@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z) Updater.obj : error LNK2019:未解决的外部符号"__declspec(dllimport) public:_thiscall QuaZip::QuaZip(void)“(_imp_??0QuaZip@@QAE@XZ)在函数"public:__thiscall Updater::Updater(class QWidget *,class QFlags)”中引用“_thiscall 1>.\updater.exe :致命错误LNK1120: 1未解决的外部变量”

我知道这个错误发生在声明存在但定义不存在的时候。

作为find QuaZip构造函数的结果,我发现如下所示。

代码语言:javascript
复制
QuaZip::QuaZip():
  p(new QuaZipPrivate(this))
{
}

我怎样才能使它正确?

谢谢您的评论。

EN

回答 1

Stack Overflow用户

发布于 2012-08-06 13:03:42

我在Quazip的自述文件中找到了以下消息:

如果希望将QuaZIP源直接包含到项目中,或者如果要使用使用"qmake CONFIG+=statliclib“编译为静态库的QuaZIP,则必须定义QUAZIP_STATIC宏,否则可能会遇到问题,因为QuaZIP符号将被标记为dllimported。

也许这会对你有帮助。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8723167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档