2016-06-20 3 views
0

소스에서 설치 한 라이브러리가 있습니다. 그것은 잘 보이는 는 내가 필요한 모든 파일이 설치되어있는 매니페스트 프로그램 설치 :Find_package가 소스의 라이브러리와 작동하지 않습니다.

/usr/local/lib/cmake/Findaruco.cmake 
/usr/local/lib/pkgconfig/aruco-uninstalled.pc 
/usr/local/lib/pkgconfig/aruco.pc 
/usr/local/lib/libaruco.so.2.0.7 
/usr/local/lib/libaruco.so.2.0 
/usr/local/lib/libaruco.so 
/usr/local/include/aruco/marker.h 
/usr/local/include/aruco/markerdetector.h 
/usr/local/include/aruco/dictionary.h 
/usr/local/include/aruco/levmarq.h 
/usr/local/include/aruco/markermap.h 
/usr/local/include/aruco/cameraparameters.h 
/usr/local/include/aruco/posetracker.h 
/usr/local/include/aruco/exports.h 
/usr/local/include/aruco/markerlabeler.h 
/usr/local/include/aruco/cvdrawingutils.h 
/usr/local/include/aruco/ar_omp.h 
/usr/local/include/aruco/aruco.h 
/usr/local/include/aruco/dictionary_based.h 
/usr/local/include/aruco/svmmarkers.h 
/usr/local/bin/aruco_tracker 
/usr/local/bin/aruco_simple 
/usr/local/bin/aruco_test 
/usr/local/bin/aruco_print_marker 
/usr/local/bin/aruco_print_dictionary 
/usr/local/bin/aruco_markermap_pix2meters 
/usr/local/bin/aruco_simple_markermap 
/usr/local/bin/aruco_test_markermap 
/usr/local/bin/aruco_calibration 
/usr/local/bin/aruco_calibration_fromimages 

나는 또한 내 프로젝트에서 해당 라이브러리에서 필요한 헤더를 포함 할 수 있습니다; 그들은 발견된다.

실제로 라이브러리를 연결하는 것이 작동하지 않습니다. Findaruco.cmake 파일이 /usr/지방/lib 디렉토리/cmake에 있기 때문에,

find_package(aruco REQUIRED) 

내가 그 정도 될 것이라고 생각 : 내 cmakeLists 다음 줄이 있습니다. 그러나 cmake는 라이브러리를 찾을 수 없습니다. 나는 또한 locate .so | grep aruco이 실제로 라이브러리를 찾지 못했다. 출력은 다음과 같습니다.

/usr/local/lib/libopencv_aruco.so 
/usr/local/lib/libopencv_aruco.so.3.1 
/usr/local/lib/libopencv_aruco.so.3.1.0 

그래서 뭔가 잘못되었습니다. 나는 추가로 설치 cmake에 알려줍니다 것으로 나타났습니다 다음 (즉, 라이브러리에서 다른 사람과 함께) : 아무것도 할 수

Removed runtime path from "/usr/local/lib/libaruco.so.2.0.7" 

합니까? 라이브러리를 살펴 보려면 here on sourceforge을 찾으십시오. 그것 없이는 빌드 할 수 없습니다. 어떻게 작동합니까?

답변

0

따라서 cmake modules은 특정 경로에서 검색됩니다. 기본 설정은 /usr/share/cmake/<version>/modules

입니다. cmake_module_path 변수를 Findaruco cmake 파일을 설치 한 디렉토리로 설정하거나 다른 cmake 파일이있는 위치로 이동할 수 있습니다.

보조 노트 : 당신이 $ sudo updatedb 다음 $ locate

+0

좋아 감사의 위치를 ​​위해이 데이터베이스에 추가되지 않았기 때문에 당신이 설치 한 새 라이브러리를 공개하지 않습니다 실행하지 않은 경우, 나는에 Findaruco.cmake 파일을 복사/modules 폴더에 복사하고 CMAKE_MODULE_PATH를 설정하십시오. 이제 작동합니다. 그러나 aruco 라이브러리의 작성자가 arucoConfig.cmake 파일을 작성해야한다고 생각합니다. – RunOrVeith

+0

그래, 그 iirc 가지고 상대적으로 새로운 (어쩌면 버전 3 cmake?) 어쩌면 aruco lib는 이전 idk, 다행 당신의 문제를 해결 – kirinthos