2017-12-19 26 views
-2

현재 프로젝트 작업 중이며 OpenCV를 추가하고 싶습니다. opencv 3.3.1의 미리 빌드 된 라이브러리와 cmake의 최신 버전을 다운로드했습니다. x64 디버그 모드에서 Windows x64 OS에서 Visual Studio 2017을 사용합니다.CMake VS2017 C++ - opencv_world.lib 파일을 열 수 없습니다.

CMake는 오류없이 모든 것을 만들 수 있습니다. 내가 VS 또는 디버그, 내 프로젝트를 빌드 할 때 는 그러나, 나는 치명적인 링크 오류가 발생합니다 :

fatal error LNK1104: cannot open file 'C:\OpenCV 3.3.1\opencv\build\lib\Debug\opencv_world331d.lib'

그래서 내가 lib 디렉토리 파일에 대한 디렉토리를 확인했습니다. 그러나 디렉토리도 lib 파일도 없습니다.

나는 내 CMakeLists.txt 아래 첨부 :

SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}") 
FIND_PACKAGE(KinectSDK2 REQUIRED) 
INCLUDE_DIRECTORIES(${KinectSDK2_INCLUDE_DIRS}) 
LINK_DIRECTORIES(${KinectSDK2_LIBRARY_DIRS}) 
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}") 
FIND_PACKAGE(PCL 1.8.1 REQUIRED) 
INCLUDE_DIRECTORIES(${PCL_INCLUDE_DIRS}) 
LINK_DIRECTORIES(${PCL_LIBRARY_DIRS}) 
FIND_PACKAGE(OpenCV REQUIRED) 
INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS}) 
LINK_DIRECTORIES(${OpenCV_LIBRARY_DIRS}) 
MESSAGE(STATUS "OpenCV library status:") 
MESSAGE(STATUS " version: ${OpenCV_VERSION}") 
MESSAGE(STATUS " libraries: ${OpenCV_LIBS}") 
MESSAGE(STATUS " include path: ${OpenCV_INCLUDE_DIRS}") 
ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS) 
FILE(GLOB DesiredView_SRC 
    "*.h" 
    "*.cpp" 
) 
ADD_EXECUTABLE(DesiredView ${DesiredView_SRC}) 

TARGET_LINK_LIBRARIES(DesiredView ${PCL_LIBRARIES} ${KinectSDK2_LIBRARIES} ${OpenCV_LIBS}) 

난 그냥 1 일 전 CMake 작업을 시작했다. 그래서 저는 이것으로 아주 새롭습니다.

정말 도움이됩니다.

플로리안

+0

에 오신 것을 환영합니다! 코드에'message()'호출을 삽입하는 것을 보았습니다. 그들의 출력물은 도움이 될 수 있습니다 - 질문 게시판에 추가하십시오. 'opencv 3.3.1 라이브러리를 미리 다운로드했습니다. - 어디서 (어느 디렉토리에) opencv 라이브러리를 두었습니까? – Tsyvarev

답변

0

답변 해 주셔서 감사합니다. 나는 그것을 여기에 그러나 게시해야한다. 여기에 message() 코드가 있습니다.

OpenCV library status: version: 3.3.1 libraries: opencv_calib3d;opencv_core;opencv_cudaarithm;opencv_cudabgsegm;opencv_cudacodec;opencv_cudafeatures2d;opencv_cudafilters;opencv_cudaimgproc;opencv_cudaobjdetect;opencv_cudaoptflow;opencv_cudastereo;opencv_cudawarping;opencv_dnn;opencv_features2d;opencv_flann;opencv_highgui;opencv_imgcodecs;opencv_imgproc;opencv_ml;opencv_objdetect;opencv_photo;opencv_shape;opencv_stitching;opencv_superres;opencv_video;opencv_videoio;opencv_videostab;opencv_world include path: C:/OpenCV 3.3.1/opencv/build;C:/OpenCV 3.3.1/opencv/sources/include;C:/OpenCV 3.3.1/opencv/sources/include/opencv;C:/OpenCV 3.3.1/opencv/sources/modules/core/include;C:/OpenCV 3.3.1/opencv/sources/modules/cudaarithm/include;C:/OpenCV 3.3.1/opencv/sources/modules/flann/include;C:/OpenCV 3.3.1/opencv/sources/modules/imgproc/include;C:/OpenCV 3.3.1/opencv/sources/modules/ml/include;C:/OpenCV 3.3.1/opencv/sources/modules/objdetect/include;C:/OpenCV 3.3.1/opencv/sources/modules/video/include;C:/OpenCV 3.3.1/opencv/sources/modules/cudabgsegm/include;C:/OpenCV 3.3.1/opencv/sources/modules/cudafilters/include;C:/OpenCV 3.3.1/opencv/sources/modules/cudaimgproc/include;C:/OpenCV 3.3.1/opencv/sources/modules/cudawarping/include;C:/OpenCV 3.3.1/opencv/sources/modules/dnn/include;C:/OpenCV 3.3.1/opencv/sources/modules/imgcodecs/include;C:/OpenCV 3.3.1/opencv/sources/modules/photo/include;C:/OpenCV 3.3.1/opencv/sources/modules/shape/include;C:/OpenCV 3.3.1/opencv/sources/modules/videoio/include;C:/OpenCV 3.3.1/opencv/sources/modules/cudacodec/include;C:/OpenCV 3.3.1/opencv/sources/modules/cudaobjdetect/include;C:/OpenCV 3.3.1/opencv/sources/modules/cudaoptflow/include;C:/OpenCV 3.3.1/opencv/sources/modules/highgui/include;C:/OpenCV 3.3.1/opencv/sources/modules/superres/include;C:/OpenCV 3.3.1/opencv/sources/modules/features2d/include;C:/OpenCV 3.3.1/opencv/sources/modules/calib3d/include;C:/OpenCV 3.3.1/opencv/sources/modules/cudafeatures2d/include;C:/OpenCV 3.3.1/opencv/sources/modules/cudastereo/include;C:/OpenCV 3.3.1/opencv/sources/modules/stitching/include;C:/OpenCV 3.3.1/opencv/sources/modules/videostab/include;C:/OpenCV 3.3.1/opencv/sources/modules/world/include;C:/OpenCV 3.3.1/opencv/sources/modules/ts/include

내 빌드 및 소스 폴더는 여기에 위치하고 있습니다 :

C:\OpenCV 3.3.1\opencv

감사합니다 :) 스택 오버플로

+0

CMake가 opencv-config.cmake 파일을 찾을 수 없기 때문에 CMake로 OpenCV 빌드 폴더를 다시 빌드하고 원래 다운로드 한 빌드 폴더를 삭제했습니다. 다시 빌드하면 cmake 파일을 찾을 수 있지만 이미 언급 한 것처럼 lib 파일을 찾지 못합니다. 이 일을해야합니까? –

+0

이상한 일은 이미 opencv 헤더 파일을 포함하고 라이브러리를 사용할 수 있다는 것입니다. 디버깅하고 싶을 때 실패합니다. –

+0

디버그 모드와 릴리스 모드에서 OpenCV를 컴파일 했습니까? 어쩌면 당신은 릴리스 모드에서만 컴파일했습니다. – api55