【问题标题】:how to make PKG_CHECK_MODULES work with static libraries?如何使 PKG_CHECK_MODULES 与静态库一起使用?
【发布时间】:2014-01-28 10:14:47
【问题描述】:

我在 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 标志。有人有这个宏吗?

【问题讨论】:

    标签: static-libraries autoconf pkg-config


    【解决方案1】:

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

    appears to be live 在 pkg-config 版本 > 0.29 中。

    【讨论】:

      【解决方案2】:

      使用:

      PKG_CONFIG="pkg-config --static"
      

      似乎是按照this pkg-config bug report做的方法。

      【讨论】:

      • 这是问题中提到的用户的解决方法,而不是 conifgure.ac 的修复。
      • 不幸的是,configure.ac 的修复似乎是(在错误报告的评论 3 中)“似乎没有一个好的解决方案”。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-12
      • 1970-01-01
      • 2023-01-20
      • 2012-07-09
      • 1970-01-01
      相关资源
      最近更新 更多