首页 > 解决方案 > 为什么 OpenCV 4.5.2 没有构建应用程序

问题描述

我使用 Windows 安装程序安装了 OpenCV 4.5.2,当我查看应用程序文件夹时,我找不到一些应用程序(create_samples、train_cascade)。因此,我下载了代码并使用 CMake 生成了 Visual Studio 项目。在我构建了所有这些项目之后,再次在 app 文件夹中没有项目文件来构建这些应用程序。我也在cmake . 一个应用程序目录中运行,但出现了这个错误:

CMake Warning (dev) in CMakeLists.txt:
  No project() command is present.  The top-level CMakeLists.txt file must
  contain a literal, direct call to the project() command.  Add a line of
  code such as

    project(ProjectName)

  near the top of the file, but after cmake_minimum_required().

  CMake is pretending there is a "project(Project)" command on the first
  line.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Error at CMakeLists.txt:4 (ocv_add_application):
  Unknown CMake command "ocv_add_application".


-- Configuring incomplete, errors occurred!
See also "C:/opencv/opencv-master/apps/createsamples/CMakeFiles/CMakeOutput.log".

这是我运行的 CMakeLists.txt 文件:

file(GLOB SRCS *.cpp)


ocv_add_application(opencv_createsamples
    MODULES opencv_core opencv_imgproc opencv_objdetect opencv_imgcodecs opencv_highgui opencv_calib3d opencv_features2d opencv_videoio
    SRCS ${SRCS})

老实说,我上一次使用 CMake 是在 10 年前,我真的很想弄清楚这一点。
谢谢

堆:

CMake  3.20.3
OpenCV 4.5.2
Python 3.9.5
Visual Studio 16.10.0
Wndows 10

标签: windowsvisual-studioopencvcmake

解决方案


我发现了为什么会这样。在opencv 4.5(我没有检查其他版本)中,cmake文件中为traincascade和createsamples生成解决方案的行被明确注释掉。这是因为构建这些应用程序会产生超过 600 个错误!让我们希望这个问题能很快得到解决。


推荐阅读