Как собрать образцы opencv - PullRequest
1 голос
/ 10 апреля 2020

Я новичок в cmake, но не в make. Этот вопрос отличается от Не удалось собрать пример проекта OpenCV Android , поскольку этот другой вопрос касается одного проекта, и этот вопрос рассматривает в целом CMakeLists.txt.

Говоря о том, что: рассмотрим CMakeLists.txt в ${OPENCVDIR}/samples:

Я следовал основному c процессу для cmake:

cd  "${OPENCVDIR}/samples"
mkdir build
cd build
cmake ..

Но на последний шаг, который у меня есть:

$ cmake ..
CMake Error at CMakeLists.txt:72 (find_package):
  Could not find a package configuration file provided by "OpenCV" with any
  of the following names:

    OpenCVConfig.cmake
    opencv-config.cmake

  Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set
  "OpenCV_DIR" to a directory containing one of the above files.  If "OpenCV"
  provides a separate development package or SDK, be sure it has been
  installed.


-- Configuring incomplete, errors occurred!
See also "/git/opencv/samples/CMakeFiles/CMakeOutput.log".

В строке 72 есть это: find_package(OpenCV REQUIRED PATHS "..")

Я посмотрел журнал ошибок, и он не был информативным.

Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"

The CXX compiler identification is GNU, found in "/git/opencv/samples/CMakeFiles/3.13.4/CompilerIdCXX/a.out"

Determining if the C compiler works passed with the following output:
Change Dir: /git/opencv/samples/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_26f76/fast"
/usr/bin/make -f CMakeFiles/cmTC_26f76.dir/build.make CMakeFiles/cmTC_26f76.dir/build
make[1]: Entering directory '/git/opencv/samples/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_26f76.dir/testCCompiler.c.o
/usr/bin/cc    -o CMakeFiles/cmTC_26f76.dir/testCCompiler.c.o   -c /git/opencv/samples/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTC_26f76
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_26f76.dir/link.txt --verbose=1
/usr/bin/cc      -rdynamic CMakeFiles/cmTC_26f76.dir/testCCompiler.c.o  -o cmTC_26f76
make[1]: Leaving directory '/git/opencv/samples/CMakeFiles/CMakeTmp'


Detecting C compiler ABI info compiled with the following output:
"/git/opencv/samples/CMakeFiles/CMakeOutput.log" 706 lines, 48095 characters
    Feature record: CXX_FEATURE:0cxx_defaulted_move_initializers
    Feature record: CXX_FEATURE:0cxx_delegating_constructors
    Feature record: CXX_FEATURE:0cxx_deleted_functions
    Feature record: CXX_FEATURE:0cxx_digit_separators
    Feature record: CXX_FEATURE:0cxx_enum_forward_declarations
    Feature record: CXX_FEATURE:0cxx_explicit_conversions
    Feature record: CXX_FEATURE:0cxx_extended_friend_declar
   etc ..

Что правильный способ построения этих примеров - надеюсь, с использованием CMakeLists.txt уже предоставлено?

1 Ответ

1 голос
/ 10 апреля 2020

Кажется, установочный каталог OpenCV не найден cmake. Попробуйте указать значение через аргумент:

cmake -DCMAKE_PREFIX_PATH=/home/someone/src/opencv/install ..

Если это работает, вы можете определить это на верхнем уровне CMakeLitst.txt:

list(APPEND CMAKE_PREFIX_PATH /home/someone/src/opencv/install)

Это должно обеспечить CMake место куда это должно смотреть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...