2017-02-21 2 views
0

간단한 OpenCV 프로그램을 빌드하고 싶지만 프로젝트를 빌드 할 때 오류가 발생했습니다 : 문제는 어떻게 해결해야할지오류 opencv 프로그램을 빌드 할 때 "대상을 만들 규칙이 없습니다 ..."및 "정의되지 않은 참조"오류가 발생했습니다.

cmake_minimum_required(VERSION 2.8.3) 
project(robot_slam) 

find_package(catkin REQUIRED 
    COMPONENTS 
    cmake_modules 
    roscpp 
    sensor_msgs 
    cv_bridge 
    std_msgs 
    image_transport 
) 
find_package(OpenCV REQUIRED) 

include_directories(include ${catkin_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS}) 

catkin_package() 

add_executable(imageConverter src/imageConverter.cpp) 
target_link_libraries(imageConverter ${catkin_LIBRARIES} ${OpenCV_LIBRARIES}) 

아무도 알고 있나요 : 여기

No rule to make target `/usr/lib/x86_64-linux-gnu/libconsole_bridge.so,opencv_videostab', needed by `/home/turtlebot/catkin_ws/devel/lib/multi_robot_slam/imageConverter'. Stop. 

내 CmakeLists.txt입니까?
No rule to make target /usr/lib/x86_64linux-gnu/libconsole_bridge.so,opencv_videostab', needed by /home/turtlebot/catkin_ws/devel/lib/multi_robot_slam/imageConverter'.Stop. 

누군가가 잘못 쉼표 대신 공간을 통해 라이브러리를 열거하는 것을 의미한다 :

+0

:'/ usr/lib/x86_64-linux-gnu/libconsole_bridge.so, opencv_videostab'는 누군가 **가 공백 대신 쉼표 **로 잘못 라이브러리를 열거한다는 것을 의미합니다. 'FindOpenCV.cmake'를 수정 했습니까? OpenCV를 찾기 위해 일부 캐시 변수를 설정 했습니까? – Tsyvarev

+0

@Tsyvarev 유용한 답변 주셔서 감사합니다. 내가 잘못 쉼표로 라이브러리를 열거하는 것 같습니다.하지만 이걸 수정하면. 새로운 문제가 생겼어. 'cv :: namedWindow (...)'에 대한 참조 및 모든 함수 i LD_LIBRARY_PATH = $ LD_LIBRARY_PATH를 :/usr/지방/lib에 수출 LD_LIBRARY_PATH LIBRARY_PATH = $ LIBRARY_PATH :/usr/지방/lib에 수출 정의되지 않은 모든 reference.I가을/etc/프로필 등에 변수를 추가해야 이력서를 네임 스페이스에 속하는 사용 LIBRARY_PATH OpenCV_INCLUDE_DIRS =/usr/local/include 내보내기 OpenCV_INCLUDE_DIRS 내보내기 PATH = $ PATH : $ HOME/opencv-3.2.0/build/bin – Jack

+0

정의되지 않은 참조 란 코드에 필수 헤더를 포함하지 않았 음을 의미합니다. 'namedWindow()는' '#INCLUDE 다음처럼 –

답변

0

나는 마침내 그것을 space.From 수정 쉼표로 내 문제를 해결 난 것을 배웠다.

게다가, 나는 또한이 문제는 일반적으로 라이브러리의 부재를 의미, 또는에 둘 이상의 버전 LIB가

undefined reference to ***. 

의 문제를 해결하여 computer.For #include<> 사용하기 때문에 나에게, 그것은이다 opencv3.2의 헤더 파일 들인 lib가 opencv2.4.So를 사용하면서 find_package(OpenCV REQUIRED)find_package(OpenCV 3 REQUIRED)으로 수정하여 사용되는 lib를 또한 opencv3.2로 만들었습니다. 그리고 나서 모든 문제가 사라지고 모든 것이 올바르게됩니다!