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

Я также могу включить заголовки, которые мне нужны из этой библиотеки, в мой проект; они найдены.

Что не работает, так это связывание библиотеки.
мой cmakeLists имеет следующую строку:

find_package(aruco REQUIRED)

Я думаю, этого будет достаточно, так как файл Findaruco.cmake находится в
/ USR / местные / Библиотека / CMake. Однако 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"

Это как-то связано с этим?
Если вам нужно взглянуть на библиотеку, вы можете найти ее здесь на sourceforge.
Я не могу построить без него, как мне заставить это работать?

0

Решение

так модули cmake ищутся по конкретным путям. Я считаю, что по умолчанию что-то вроде /usr/share/cmake/<version>/modules

вы можете установить переменную cmake_module_path в каталог, в который вы установили файл cmake Findaruco, или переместить этот модуль в то место, где находятся другие ваши файлы cmake.

примечание: если вы еще не бежали $ sudo updatedb затем $ locate не покажет новые библиотеки, которые вы установили, потому что они не были добавлены в базу данных для поиска

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]