【问题标题】:CMake find_package: where did it find the package?CMake find_package:它在哪里找到包?
【发布时间】:2018-11-21 10:42:00
【问题描述】:

在我的 CMake 包中,有一个对 find_package 的调用。这成功了,太好了!但是,事实证明是错误的软件包版本。我现在想去删除那个包。但是,我不知道它在我的系统上到底在哪里,也不知道 CMake 一定在某个地方找到了 -config.cmake 文件。有没有办法让find_package 给我这些信息?或者至少详细地告诉我它在哪里搜索?

虽然这可能在变量CMAKE_MODULE_PATH 中,但对我来说是空的。所以我猜它在某个地方的默认路径中。但是 CMake 会在很多地方搜索包,但在我记得的通常位置都没有找到。

【问题讨论】:

    标签: cmake cmake-modules


    【解决方案1】:

    嗯,好的,我在这里找到了解决方案:

    https://riptutorial.com/cmake/example/21128/debug-find-package---errors

    原来有一个特殊的调试标志可以让find_package告诉你它在哪里搜索:​​

    cmake -D CMAKE_FIND_DEBUG_MODE=ON ..
    

    【讨论】:

      【解决方案2】:

      从 CMake 3.17 开始,cmake command line 原生支持打印所有 CMake find_* 命令的搜索目录。使用--debug-find 标志:

      cmake --debug-find ..
      

      【讨论】:

        猜你喜欢
        • 2015-01-16
        • 1970-01-01
        • 2016-01-19
        • 2018-02-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-29
        • 1970-01-01
        相关资源
        最近更新 更多