【问题标题】:pkg_config_modules dependency fails because version in "Uncontrolled"pkg_config_modules 依赖失败,因为“不受控制”中的版本
【发布时间】:2020-10-15 00:04:10
【问题描述】:

问题

我有一个包含以下内容的 CMakeLists.txt 文件:

pkg_check_modules(FOO REQUIRED foo>=0.1.0.1)

当我在该目录中使用 cmake3 -G Ninja . 运行 Cmake v3.17.2 时:

Checking for module 'foo>=0.1.0.1'
  Requested 'foo >= 0.1.0.1' but version of foo is Uncontrolled

详情

  • 这是在 RHEL7 中运行的
  • yum info foo | grep Version 返回Version : 0.1.0.1.20200417git602d018
  • foo 模块由我所在的团队创建

问题

我如何告诉 CMake 我的 foo 库是什么版本,这样它才不会“不受控制”?

【问题讨论】:

    标签: cmake dependencies version versioning dependency-management


    【解决方案1】:

    在 foo 项目的输出中,在生成的 lib64 目录中,有一个 pkgconfig 目录,其中包含 foo.pc。

    在那个文件里面,版本信息如下:

    Version: HEAD

    将此更改为预期版本。在我的例子中,这是由 foo 的构建过程自动完成的,所以需要为当前版本添加一个 git 标签并重新构建。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 2019-12-30
      • 2019-12-25
      • 2011-06-25
      • 1970-01-01
      • 1970-01-01
      • 2017-01-30
      相关资源
      最近更新 更多