首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Qt中的zlib - QtZlib不存在

Qt中的zlib - QtZlib不存在
EN

Stack Overflow用户
提问于 2014-06-02 08:01:13
回答 2查看 13.6K关注 0票数 6

我使用的是QuaZip库,它具有zlib依赖关系。我想在Archlinux和Windows 7下编译我的CMake托管应用程序,这两种应用程序我都安装了QT5.3.0。

Linux上的

我在这里读过"如何将zlib添加到现有qt安装中“,即zlib是Qt安装的一个本机部分。但是在archlinux中没有这样的目录。当然,我搜索了包括QtCore在内的所有其他Qt目录,但是没有zlib的迹象。另一方面,通过FindZLIB.cmake模块可以在archlinux上找到zlib的系统安装。

Windows上的

在Windows安装中,QtZlib目录中有QtZlib文件夹,因此可以包含它。然而,编译器总是抱怨他不能从库链接zlib函数,错误日志这里。我还尝试通过TARGET_LINK_LIBRARIES手动设置外部zlib库,但没有成功。

有没有人有使用Qt5链接Zlib的CMake经验?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-02 15:39:04

Qt的zlib是一个内部实现细节。你不应该用它。您需要链接自己的zlib副本,就像根本不使用Qt时一样。

票数 12
EN

Stack Overflow用户

发布于 2014-06-02 20:28:02

1)您应该在Archlinux上使用您的包管理器,在Windows上使用您自己的安装。不要依赖于Qt第三方安装。它可能在今天,但消失在任何特定的时刻,当一个新的版本出来。

这就是我建议你在Archlinux盒子上做的事情:

代码语言:javascript
运行
复制
pacman -S zlib

2)此外,您还应该使用FindZLIB.cmake在CMakeLists.txt中以下列方式找到zlib:

代码语言:javascript
运行
复制
find_package( ZLIB REQUIRED )
if ( ZLIB_FOUND )
    include_directories( ${ZLIB_INCLUDE_DIRS} )
    target_link_libraries( YourProject ${ZLIB_LIBRARIES} )
endif( ZLIB_FOUND )
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23989823

复制
相关文章

相似问题

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