You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CMake报错源目录不存在,求助OpenCV编译配置问题

OpenCV编译CMake报错排查

我花了好几个小时尝试解决这个问题,现在求助!

执行的CMake命令及报错

dk@ASUS:~/opencv_build/opencv-4.8.1/build$ cmake -D ENABLE_PRECOMPILED_HEADERS=OFF \
    -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \ 
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib-4.8.1/modules \
    -D BUILD_EXAMPLES=ON \
    -D BUILD_TESTS=OFF \
    -D BUILD_PERF_TESTS=OFF \
    -D INSTALL_C_EXAMPLES=ON \
    -D OPENCV_GENERATE_PKGCONFIG=ON \
    -D WITH_CUDA=ON \
    -D WITH_CUDNN=ON \
    -D OPENCV_DNN_CUDA=ON \
    -D WITH_CUBLAS=ON \
    -D ENABLE_FAST_MATH=ON \
    -D CUDA_FAST_MATH=ON \
    -D WITH_OPENMP=ON \
    -D WITH_OPENGL=ON \
    -D WITH_FFMPEG=ON \
    -D WITH_GSTREAMER=ON \
    -D WITH_TBB=ON \
    -D BUILD_TBB=ON \
    -D BUILD_NEW_PYTHON_SUPPORT=ON \
    -D BUILD_opencv_python3=TRUE \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python \
    -D OPENCV_PYTHON3_INSTALL_PATH=~/.virtualenvs/cv/lib/python3.10/site-packages ..

CMake Error: The source directory "/home/dk/opencv_build/opencv-4.8.1/build/ " does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
-D: command not found

我的操作步骤

dk@ASUS:~$ mkdir ~/opencv_build && cd ~/opencv_build
dk@ASUS:~/opencv_build$ 

dk@ASUS:~/opencv_build$ mkdir -p ~/opencv_build/opencv-4.8.1/build 
dk@ASUS:~/opencv_build$ l
total 151M
drwxrwxr-x  4 dk dk 4.0K Apr 24 20:24 .
drwxrwxr-x 17 dk dk 4.0K Apr 24 20:20 ..
drwxrwxr-x 12 dk dk 4.0K Apr 24 20:26 opencv-4.8.1
drwxrwxr-x  6 dk dk 4.0K Jun 28  2023 opencv_contrib-4.8.1
-rw-rw-r--  1 dk dk  59M Apr 24 20:24 opencv_contrib.zip
-rw-rw-r--  1 dk dk  93M Apr 24 20:23 opencv.zip
dk@ASUS:~/opencv_build$ cd opencv-4.8.1
dk@ASUS:~/opencv_build/opencv-4.8.1$ l
total 156K
drwxrwxr-x 12 dk dk 4.0K Apr 24 20:26 .
drwxrwxr-x  4 dk dk 4.0K Apr 24 20:24 ..
drwxrwxr-x 25 dk dk 4.0K Sep 27  2023 3rdparty
drwxrwxr-x 10 dk dk 4.0K Sep 27  2023 apps
drwxrwxr-x  2 dk dk 4.0K Apr 24 20:26 build
drwxrwxr-x  9 dk dk 4.0K Sep 27  2023 cmake
-rw-rw-r--  1 dk dk  73K Sep 27  2023 CMakeLists.txt
-rw-rw-r--  1 dk dk  191 Sep 27  2023 CONTRIBUTING.md
-rw-rw-r--  1 dk dk  733 Sep 27  2023 COPYRIGHT
drwxrwxr-x  7 dk dk 4.0K Sep 27  2023 data
drwxrwxr-x  8 dk dk 4.0K Sep 27  2023 doc
-rw-rw-r--  1 dk dk  455 Sep 27  2023 .editorconfig
drwxrwxr-x  3 dk dk 4.0K Sep 27  2023 include
-rw-rw-r--  1 dk dk  12K Sep 27  2023 LICENSE
drwxrwxr-x 23 dk dk 4.0K Sep 27  2023 modules
drwxrwxr-x 14 dk dk 4.0K Sep 27  2023 platforms
-rw-rw-r--  1 dk dk  844 Sep 27  2023 README.md
drwxrwxr-x 24 dk dk 4.0K Sep 27  2023 samples
-rw-rw-r--  1 dk dk 3.1K Sep 27  2023 SECURITY.md
dk@ASUS:~/opencv_build/opencv-4.8.1$ cd build

我进入build目录后执行上述CMake命令,出现报错。显然我的OpenCV源文件夹存在,但不在build子目录中,请问我哪里操作错了?


错误原因及解决方法

问题根源

你的CMake命令里有一个致命格式错误:在-D CMAKE_INSTALL_PREFIX=/usr/local \这一行的末尾,反斜杠\后面多了一个空格。这个空格会导致shell的换行转义失效,原本属于同一命令的后续参数被拆分成独立命令执行:

  1. 转义失效后,-D CMAKE_INSTALL_PREFIX=/usr/local被当成完整命令执行,后续-D开头的参数被识别为新命令,因此出现-D: command not found错误。
  2. 最后的..会和前面的空格结合,被解析为指向build/ (带空格的路径),而该路径不存在,所以CMake报错源目录不存在。

解决方法

去掉-D CMAKE_INSTALL_PREFIX=/usr/local \这一行末尾的空格,确保反斜杠\紧跟路径,无多余空格。修改后的完整CMake命令如下:

cmake -D ENABLE_PRECOMPILED_HEADERS=OFF \
    -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib-4.8.1/modules \
    -D BUILD_EXAMPLES=ON \
    -D BUILD_TESTS=OFF \
    -D BUILD_PERF_TESTS=OFF \
    -D INSTALL_C_EXAMPLES=ON \
    -D OPENCV_GENERATE_PKGCONFIG=ON \
    -D WITH_CUDA=ON \
    -D WITH_CUDNN=ON \
    -D OPENCV_DNN_CUDA=ON \
    -D WITH_CUBLAS=ON \
    -D ENABLE_FAST_MATH=ON \
    -D CUDA_FAST_MATH=ON \
    -D WITH_OPENMP=ON \
    -D WITH_OPENGL=ON \
    -D WITH_FFMPEG=ON \
    -D WITH_GSTREAMER=ON \
    -D WITH_TBB=ON \
    -D BUILD_TBB=ON \
    -D BUILD_NEW_PYTHON_SUPPORT=ON \
    -D BUILD_opencv_python3=TRUE \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python \
    -D OPENCV_PYTHON3_INSTALL_PATH=~/.virtualenvs/cv/lib/python3.10/site-packages ..

重新执行修正后的命令即可正常进行CMake配置。


内容的提问来源于stack exchange,提问作者DaveK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 05:13:10