python cmake错误'源文件似乎不包含CMakeLists.txt'

v1l68za4  于 2022-11-21  发布在  Python
关注(0)|答案(5)|浏览(176)

我正在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和其他一些问题的答案,但仍然无法解决。
项目Git储存库here

ykejflvf

ykejflvf1#

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

pbossiut

pbossiut2#

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

sshcrbum

sshcrbum3#

这个回复可能比较晚,但是它可以帮助有类似问题的用户。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)并将其解压缩到您的计算机上。在其中创建build文件夹
1.从OpenCV下载exra模块。(从https://github.com/opencv/opencv_contrib/releases)。确保下载相同的版本。
1.解压缩文件夹。
1.打开CMake
1.单击Browse Source并导航到openCV文件夹。
1.单击“浏览构建”并导航到构建文件夹。
1.单击配置按钮。系统会询问您希望如何生成文件。从下拉菜单中选择Unix-Makefile并单击确定。CMake将执行一些测试并返回一组出现在CMake窗口中的红色框。
1.搜索“OPENCV_EXTRA_MODULES_PATH”并提供模块文件夹的路径(例如/用户/purushottam_d/程序/OpenCV3_4_5_contrib/模块)
1.再次单击“配置”,然后单击“生成”。
1.转到构建文件夹

# cd build
# make
# sudo make install

1.这将在您的计算机上安装opencv库。

hc2pp10m

hc2pp10m4#

一种从源代码逐步构建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中创建的目录,沿着该行上方的以下行:

配置完成****生成完成

步骤5:要启动编译过程,其中-j是表示计算机内处理器数量的标志,例如-j6表示我们有6个处理器可用。要验证处理器数量,请在终端上键入nproc,然后在**-j**之后使用此数字。要启动此过程,我们使用以下命令:

make -j6

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

sudo make install

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

pkg-config --modversion opencv4
dsf9zpds

dsf9zpds5#

我在另一个软件包中也遇到了类似的问题,无论是从一个干净的目录操作,还是从外面构建,或者从源代码复制/粘贴CMakeLists.txt文件到干净的目录都没有成功。

相关问题