繁体   English   中英

cmake 错误“源似乎不包含 CMakeLists.txt”

[英]cmake error 'the source does not appear to contain CMakeLists.txt'

我在 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 存储库在这里

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

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

此回复可能较晚,但可以帮助遇到类似问题的用户。 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 窗口中的红色框。

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

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

  10. 转到构建文件夹

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

我在另一个 package 上遇到了类似的问题,既没有从干净的目录操作,也没有从外部构建,也没有将 CMakeLists.txt 文件从源复制/粘贴到干净的目录。 我只是通过 conda 解决了安装问题

一种更简单的方法来逐步从源代码构建 OpenCV,如本参考中给出的: 从源代码安装 OpenCV是,

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

配置完成生成完成

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

make -j6 

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

sudo make install

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

pkg-config --modversion opencv4

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM