我使用的是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经验?
发布于 2014-06-02 15:39:04
Qt的zlib是一个内部实现细节。你不应该用它。您需要链接自己的zlib副本,就像根本不使用Qt时一样。
发布于 2014-06-02 20:28:02
1)您应该在Archlinux上使用您的包管理器,在Windows上使用您自己的安装。不要依赖于Qt第三方安装。它可能在今天,但消失在任何特定的时刻,当一个新的版本出来。
这就是我建议你在Archlinux盒子上做的事情:
pacman -S zlib
2)此外,您还应该使用FindZLIB.cmake
在CMakeLists.txt中以下列方式找到zlib:
find_package( ZLIB REQUIRED )
if ( ZLIB_FOUND )
include_directories( ${ZLIB_INCLUDE_DIRS} )
target_link_libraries( YourProject ${ZLIB_LIBRARIES} )
endif( ZLIB_FOUND )
https://stackoverflow.com/questions/23989823
复制相似问题