cmake错误'源代码似乎不包含CMakeLists.txt'

时间:2017-09-27 13:05:17

标签: python opencv

我在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.

我使用了'module'文件夹中提供的命令。我该如何解决? 我在stack-overflow和其他一些问题尝试了答案,但仍然无法弄明白。

Project Git存储库here

4 个答案:

答案 0 :(得分:14)

您应该在mkdir build文件夹内而不是cd build文件夹中执行opencvopencv-contribCMakeLists.txt就在那里。

答案 1 :(得分:3)

由于您在cmake之后添加了..,因此它将在目录中向上(像cd ..一样跳跃)。但是,如果要在与CMakeLists.txt相同的文件夹下运行cmake,请使用.而不是..

答案 2 :(得分:0)

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

按照以下步骤操作(假设您正在使用CMake GUI进行构建)

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

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

  3. 解压缩文件夹。

  4. 打开CMake

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

  6. 单击“浏览构建”,然后导航到您的构建文件夹。

  7. 单击配置按钮。系统将询问您如何生成文件。从下拉菜单中选择Unix-Makefile,然后单击确定。 CMake将执行一些测试,并在CMake窗口中返回一组红色框。

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

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

  10. 转到构建文件夹

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

答案 3 :(得分:0)

一种从源代码逐步构建 OpenCV 的更简单方法,如本参考资料所示:Installing OpenCV from the Source 就是,

第一步:安装依赖,

 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 步中创建的目录,以及该行上方的以下几行,

配置完成 生成完成

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

make -j6 

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

sudo make install

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

pkg-config --modversion opencv4