如何使PKG_CHECK_MODULES与静态库一起使用?

时间:2014-01-09 17:43:03

标签: static-libraries autoconf pkg-config

我在configure.ac:

PKG_CHECK_MODULES([LIBXML2], [libxml-2.0 >= 2.6.26])

我在Makefile.am中使用$(LIBXML2_LIBS)

如果libxml2是动态链接的,它会起作用,但现在如果由于缺少-lz而导致静态链接失败。

用户的解决方法是设置

PKG_CONFIG="pkg-config --static"

但我宁愿以这种方式增强配置脚本,以便不需要这种解决方法。

当然我不知道libxml2是静态还是DSO,所以我不能只对--static标志进行硬编码。任何人都有这个宏吗?

2 个答案:

答案 0 :(得分:1)

使用:

PKG_CONFIG="pkg-config --static"
根据{{​​3}},

似乎是这样做的方式。

答案 1 :(得分:1)

更新-上述错误报告中的last comment表明他们通过添加新的宏PKG_CHECK_MODULES_STATIC解决了该问题。另请参见this commit

pkg-config版本> 0.29中的此appears to be live