【问题标题】:PKG_CHECK_MODULES for somelib++somelib++ 的 PKG_CHECK_MODULES
【发布时间】:2023-04-09 23:17:01
【问题描述】:

我正在尝试使我的 C++ 中的 autotools 项目与库链接,该库起源于 C 库 (libsomelib.so),但也绑定到 c++ (libsomelib++.so)。我正在尝试使用 PKG_CHECK_MODULES 检查是否已安装此软件包,并使用自动工具链接它。然而,这两个库都在一个包中(c++ 版本需要配置标志),并且只有一个 .pc 文件,其中独立于配置设置只有一行

Libs: -L${libdir} -lsomelib

没有提到++版本。我在其他程序中也没有注意到单独的 ++.pc 文件。因此自动链接 ++ 版本是不可能的。我考虑过手动将 -lsomelib++ 添加到链接标志,但这相当难看(如果有人在没有 --with-cxx 标志的情况下编译它,它将无法工作)。我也可以通过 AC_SEARCH_LIBS 来测试它是否存在,但由于它是 C++ 库,所以并不那么简单。

是缺少包分发者的++.pc文件错误还是一些更深层次的想法,我不知道如何使用它?

如果有人真的很奇怪,我会说有问题的包是 ossp-uuid。

【问题讨论】:

    标签: c++ autotools pkg-config


    【解决方案1】:

    是的,缺少的 ++.pc 通常代表打包者暗示遗漏。

    顺便说一句:如果简单 (DCE) UUID 就足够了,您可以考虑 e2fsprogs/util-linux 的 libuuid(以防您运行此操作系统)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-24
      • 2014-01-29
      • 1970-01-01
      • 2015-06-12
      相关资源
      最近更新 更多