3

我需要在我的项目中添加一个依赖项到 minizip,它是 zlib 的一部分。我的系统上有图书馆,所以我可以

target_link_libraries (myproject /usr/lib64/libminizip.so)

但我不知道什么是便携的方法。我可以毫无问题地找到并链接 zlib 本身

find_package(ZLIB REQUIRED)

但这并没有链接到 minizip 库,因为${ZLIB_LIBRARIES}变量设置为/usr/lib64/libz.so并且我需要/usr/lib64/libminizip.so.

4

1 回答 1

4

在这种情况下使用 package-config 宏。

首先添加

INCLUDE (FindPkgConfig)

然后在链接步骤之前,我们需要用正确的信息填充 UNZIP_LIBRARIES 变量:

if (PKG_CONFIG_FOUND)
        PKG_CHECK_MODULES(UNZIP minizip)
endif (PKG_CONFIG_FOUND)

最后,链接步骤:

target_link_libraries (myproject ${UNZIP_LIBRARIES})
于 2012-11-29T12:43:43.870 回答