2011-09-18 10 views
2

OpenCV의 최신 버전을 최소한의 VPS로 빌드하려고하지만 CMake와 관련하여 문제가 있습니다. 나는 CMake에 익숙하지 않아 로그 출력을 해석하기가 어렵고 문제를 디버그하는 방법을 배우는 것이 어렵다.OpenCV를 빌드하는 동안 CMake와 관련된 문제가 발생했습니다.

: 명령 줄에서

(X11가 설치되어 있지 않은) 및은 devel/OpenCV의/-2.3.1/해제에서 나는

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

이 결과 다음과 같은 문제는 다음과 같다 44 (set_property) : 유효하지 않은 범위 캐시 주어진 set_property 내가 명령을 실행할 때

-- 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! 

또한 나는 또한 CMakeLists.txt에 다음과 같은 오류 메시지가 CMake 오류를 받고있는 것으로 보인다. 유효한 범위는 GLOBAL, DIRECTORY, TARGET, SOURCE, TEST입니다.

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() 

그러나 나는 이것이 무엇을 의미하는지 확실하지 않다 :

라인 42 ~ 45은 다음과 같다? 어떤 포인터가 있습니까?

많은 감사합니다.

답변

3

CMake 버전을 확인하십시오. set_property(CACHE ...)에 대한 지원은 2.8.0에서 구현되었습니다.

CMake를 업그레이드 할 수 없다면 # 44 행에 주석을 달아도 안전합니다. 그것은 GUI에서 드롭 다운 목록에 대한 값을 만드는 데 사용되는 것 같습니다.

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

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

+0

아하 나는 CMake 버전 2.6을 갖고있는 것 같다. 내가 그 기분을 상하게하는 라인을 주석 처리했을 때 모든 것이 원활하게 작동했습니다! 정말 고마워 – trican

0

나는 OpenCV의 잘못된 버전에 의해 발생 된 오류 건물 OpenCV의 많이 경험했습니다. cmake 3.0을 사용하여 opencv 3.0을 성공적으로 만들었지 만 (cmake 2.6이 나에게 도움이되지 못함). 그런 다음 opencv 2.4.9로 다운 그레이드해야한다는 것을 알았을 때 cmake 3.0이 작동하지 않아서 필자는 시스템의 기본 cmake 2.6으로 돌아 가야했습니다. opencv에서 cmake를 실행할 때 오류가 발생했는지 확인하는 첫 번째 방법은 버전입니다.

관련 문제