【问题标题】:How Cmake comes to know about Installed Libraries on Ubuntu System?Cmake 如何知道 Ubuntu 系统上已安装的库?
【发布时间】:2019-04-07 00:39:23
【问题描述】:

我刚刚在我的系统(ubuntu 16.04)上安装了 OpenCV 和 PCL 库。在我的 C++ 项目的 CMakeLists.txt 中,我有以下命令:

find_package(PCL Required)
find_package(OpenCV Required)

我知道,find_package 处于模块模式。虽然,在默认情况下,Cmake 3.10 没有 FindOpenCV.cmake 也没有 FindPCL.cmake 例如

中没有类似的文件

/usr/share/cmake/模块

没有

/usr/local/share/cmake/模块

为什么 Cmake 没有给出错误?我试图在根目录中通过 find 命令找到这些文件,但在任何地方都找不到。

【问题讨论】:

  • 也许这些库将它们的东西安装在一些预定义的文件夹中,例如/usr/local/lib/usr/local/include
  • 我在 WSL 下的 ubuntu-18.04 中的 /usr/share/OpenCV 找到了一个 CMake 模块 OpenCVConfig.cmake
  • @VTT 是的,我知道,我找到了那些目录。但找不到任何 cmake moudle 或 conifg 文件。
  • @drescherjm 在我的情况下找不到。

标签: c++ opencv cmake ubuntu-16.04 dynamic-linking


【解决方案1】:

您的文件系统中有文件FindOpenCV.cmake(模块模式)或OpenCVConfig.cmake(配置模式)。

然后可以通过cmd找到:sudo find / -iname "*opencv*.cmake"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-06
    • 2012-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多