Проблемы с CMake при сборке OpenCV - PullRequest
2 голосов
/ 18 сентября 2011

Я пытаюсь собрать самую последнюю версию OpenCV на достаточно минимальном VPS, но у меня проблемы с CMake. Я не знаком с CMake, поэтому мне сложно интерпретировать вывод журнала и, следовательно, как приступить к устранению проблемы.

Из командной строки (x11 не установлен) и в devel / OpenCV / -2.3.1 / release я выдаю следующее

sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. 

и результат этого следующий:

-- Extracting svn version, please wait...
-- SVNVERSION: exported
-- Detected version of GNU GCC: 44 (404)
-- Could NOT find ZLIB  (missing:  ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
-- Could NOT find ZLIB  (missing:  ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
-- Could NOT find PNG  (missing:  PNG_LIBRARY PNG_PNG_INCLUDE_DIR)
-- Could NOT find TIFF  (missing:  TIFF_LIBRARY TIFF_INCLUDE_DIR)
-- Could NOT find JPEG  (missing:  JPEG_LIBRARY JPEG_INCLUDE_DIR)
--     Use NumPy headers from: /usr/lib/python2.6/site-packages/numpy-1.6.1-py2.6-linux-i686.egg/numpy/core/include
--     Found Sphinx 0.6.6: /usr/bin/sphinx-build
-- Parsing 'cvconfig.h.cmake'
--
-- General configuration for opencv 2.3.1 =====================================
--
--     Built as dynamic libs?:     YES
--     Compiler:                   /usr/bin/c++
--     C++ flags (Release):          -Wall -pthread -march=i686 -ffunction-sections  -O3 -DNDEBUG  -fomit-frame-pointer -msse -msse2 -mfpmath=387 -DNDEBUG\

--     C++ flags (Debug):            -Wall -pthread -march=i686 -ffunction-sections  -g  -O0 -DDEBUG -D_DEBUG -ggdb3
--     Linker flags (Release):
--     Linker flags (Debug):
--
--   GUI:
--     GTK+ 2.x:                   NO
--     GThread:                    NO
--
--   Media I/O:
--     ZLib:                       build
--     JPEG:                       build
--     PNG:                        build
--     TIFF:                       build
--     JPEG 2000:                  FALSE
--     OpenEXR:                    NO
--     OpenNI:                     NO
--     OpenNI PrimeSensor Modules: NO
--     XIMEA:                      NO
--
--   Video I/O:
--     DC1394 1.x:                 NO
--     DC1394 2.x:                 NO
--     FFMPEG:                     NO
--       codec:                    NO
--       format:                   NO
--       util:                     NO
--       swscale:                  NO
--       gentoo-style:             NO
--     GStreamer:                  NO
--     UniCap:                     NO
--     PvAPI:                      NO
--     V4L/V4L2:                   FALSE/FALSE
--     Xine:                       NO
--
--   Other third-party libraries:
--     Use IPP:                    NO
--     Use TBB:                    NO
--     Use ThreadingFramework:     NO
--     Use Cuda:                   NO
--     Use Eigen:                  NO
--
--   Interfaces:
--     Python:                     NO
--     Python interpreter:         /usr/bin/python2.6 -B (ver 2.6)
--     Python numpy:               YES
--     Java:                       NO
--
--   Documentation:
--     Sphinx:                     /usr/bin/sphinx-build (ver 0.6.6)
--     PdfLaTeX compiler:          NO
--     Build Documentation:        NO
--
--   Tests and samples:
--     Tests:                      YES
--     Examples:                   NO
--
--   Install path:                 /usr/local
--
--   cvconfig.h is in:             /home/ec2-user/OpenCV-2.3.1/release
-- -----------------------------------------------------------------
--
-- Configuring incomplete, errors occurred!

Также, когда я запускаю команду, я также получаю следующее сообщение об ошибке CMake Ошибка в CMakeLists.txt: 44 (set_property): set_property задано неверной областью CACHE. Действительные области применения являются ГЛОБАЛЬНЫМИ, КАТАЛОГ, ЦЕЛЬ, ИСТОЧНИК, ИСПЫТАНИЕ.

Строка 42-45 выглядит следующим образом:

set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "Configs" FORCE)
if(DEFINED CMAKE_BUILD_TYPE)
    set_property( CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS ${CMAKE_CONFIGURATION_TYPES} )
endif()

Однако я не уверен, что это значит? У кого-нибудь есть указатели?

Большое спасибо

Ответы [ 2 ]

3 голосов
/ 18 сентября 2011

Проверьте вашу версию CMake.Поддержка set_property(CACHE ... ) была реализована в 2.8.0.

Если обновление CMake не подходит для вас - я думаю, это безопасно комментировать строку # 44.Кажется, он используется для создания значений для раскрывающегося списка в графическом интерфейсе.

http://www.kitware.com/blog/home/post/82

http://blog.bethcodes.com/cmake-tips-tricks-drop-down-list

0 голосов
/ 11 июля 2014

Я столкнулся с множеством ошибок при создании opencv, которые были вызваны неправильной версией OpenCV. Я успешно собрал opencv 3.0 с помощью cmake 3.0 (хотя cmake 2.6 у меня не работал). Затем, когда я обнаружил, что мне пришлось перейти на opencv 2.4.9, мне пришлось вернуться к стандартному cmake 2.6 моей системы, поскольку cmake 3.0 не работал. Первое, что нужно проверить, если вы получаете ошибки при запуске cmake в opencv, это версия.

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