【问题标题】:cmake error 'the source does not appear to contain CMakeLists.txt'cmake 错误'源似乎不包含 CMakeLists.txt'
【发布时间】:2017-09-27 13:05:16
【问题描述】:

我正在 ubuntu 16.04 中安装 opencv。安装必要的先决条件后,我使用了以下命令:-

kvs@Hunter:~/opencv_contrib$ mkdir build
kvs@Hunter:~/opencv_contrib$ cd build
kvs@Hunter:~/opencv_contrib/build$ 
kvs@Hunter:~/opencv_contrib/build$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX+/usr/local -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules -D BUILD_EXAMPLES=ON ..

但它产生了一个错误:-

CMake Error: The source directory "/home/kvs/opencv_contrib" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.

我使用了文件夹“模块”文档中提供的命令。我该如何解决? 我在stack-overflow 和其他一些问题上尝试了答案,但仍然无法弄清楚。

项目 Git 存储库here

【问题讨论】:

  • 您需要在 OpenCV 目录中创建一个目录(例如 build),cd 到该目录,然后运行 ​​cmake
  • 我编辑了问题以包含更多命令。我在创建并进入'build'目录@Zindarod后使用了cmake命令
  • ~/opencv_contrib中是否有CMakeLists.txt文件?
  • opencv_contrib 模块应该从主仓库中的 OpenCV 代码构建。阅读本指南:pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv
  • 不。应该有吗?因为在 github 存储库中,modules 文件夹中的每个模块都有CmakeLists.txt,但没有~/opencv_contrib@kdopen

标签: python opencv


【解决方案1】:

您应该在opencv 文件夹中执行mkdir buildcd build,而不是opencv-contrib 文件夹。 CMakeLists.txt 在那里。

【讨论】:

    【解决方案2】:

    由于你在cmake之后添加..,它会在目录中向上跳跃(就像cd ..一样)。但是如果你想和CMakeLists.txt在同一个文件夹下运行cmake,请使用.而不是..

    【讨论】:

      【解决方案3】:

      此回复可能会迟到,但它可能会帮助有类似问题的用户。 opencv-contrib(可从https://github.com/opencv/opencv_contrib/releases 获得)包含额外的模块,但构建过程必须从核心opencv(可从https://github.com/opencv/opencv/releases 获得)模块完成。

      按照以下步骤(假设您使用 CMake GUI 构建它)

      1. 下载 openCV(来自https://github.com/opencv/opencv/releases)并将其解压缩到计算机的某个位置。在其中创建构建文件夹

      2. 从 OpenCV 下载 exra 模块。 (来自https://github.com/opencv/opencv_contrib/releases)。确保下载相同的版本。

      3. 解压文件夹。

      4. 打开 CMake

      5. 单击浏览源并导航到您的 openCV 文件夹。

      6. 单击浏览构建并导航到您的构建文件夹。

      7. 单击配置按钮。系统将询问您希望如何生成文件。从下拉菜单中选择 Unix-Makefile 并单击 OK。 CMake 将执行一些测试并返回一组出现在 CMake Window 中的红色框。

      8. 搜索“OPENCV_EXTRA_MODULES_PATH”并提供模块文件夹的路径(例如 /Users/purushottam_d/Programs/OpenCV3_4_5_contrib/modules)

      9. 再次单击配置,然后单击生成。

      10. 转到构建文件夹

      # cd build
      # make
      # sudo make install
      
      1. 这将在您的计算机上安装 opencv 库。

      【讨论】:

        【解决方案4】:

        一个更简单的方法从源代码逐步构建 OpenCV,如本参考中给出的:Installing OpenCV from the Source 是,

        第 1 步:安装依赖项,

         sudo apt install build-essential cmake git pkg-config libgtk- 
           3-dev \libavcodec-dev libavformat-dev libswscale-dev 
           libv4l-dev \libxvidcore-dev libx264-dev libjpeg-dev 
           libpng-dev libtiff-dev \gfortran openexr libatlas-base- 
           dev python3-dev python3-numpy \libtbb2 libtbb-dev 
           libdc1394-22-dev
        

        第2步:创建一个目录opencv_build并克隆必要的存储库,如下所示,

        mkdir ~/opencv_build && cd ~/opencv_build
        git clone https://github.com/opencv/opencv.git
        git clone https://github.com/opencv/opencv_contrib.git
        

        第3步:cd进入opencv目录,在里面创建另一个名为build的目录,然后cd进去,

        cd ~/opencv_build/opencv
        mkdir build && cd build
        

        第 4 步:调用 Cmake 构建 OpenCV,

        cmake -D CMAKE_BUILD_TYPE=RELEASE \
        -D CMAKE_INSTALL_PREFIX=/usr/local \
        -D INSTALL_C_EXAMPLES=ON \
        -D INSTALL_PYTHON_EXAMPLES=ON \
        -D OPENCV_GENERATE_PKGCONFIG=ON \ 
        -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
        -D BUILD_EXAMPLES=ON ..
        

        如果步骤 4 成功完成,您应该会在终端末尾看到以下行,构建已写入到步骤 3 中创建的目录,以及此行上方的以下行,

        配置完成 生成完成

        第五步:开始编译过程 where -j 是机器内处理器数量的标志,例如 -j6 表示我们有 6 个处理器可用。在终端上输入 nproc 来验证处理器的数量,然后在 -j 之后使用这个数字。要开始这个过程,我们使用以下命令:

        make -j6 
        

        第6步:安装OpenCV,我们使用,

        sudo make install
        

        然后检查OpenCV的版本来验证安装:

        pkg-config --modversion opencv4
        

        【讨论】:

          猜你喜欢
          • 2014-07-31
          • 2018-08-31
          • 1970-01-01
          • 2014-10-06
          • 2021-07-19
          • 2016-08-27
          • 2018-06-04
          • 1970-01-01
          • 2014-02-20
          相关资源
          最近更新 更多