Ich habe eine Bibliothek, die ich von der Quelle installiert habe. Es sieht gut aus, installieren Sie das Manifest zeigt, dass alle Dateien, die ich installiert wurden müssen:Find_package funktioniert nicht mit Bibliothek aus Quelle
/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
ich auch die Header enthalten kann, die ich aus dieser Bibliothek in meinem Projekt benötigen; Sie sind gefunden.
Was nicht funktioniert, ist die Verknüpfung der Bibliothek. meine cmakeLists haben die folgende Zeile:
find_package(aruco REQUIRED)
Ich würde denken, dass das ausreichen würde, da die Findaruco.cmake Datei in /usr/local/lib/cmake ist. Cmake kann die Bibliothek jedoch nicht finden. Ich bemerkte auch, dass locate .so | grep aruco
nicht wirklich die Bibliothek findet. Es ist ausgegeben:
/usr/local/lib/libopencv_aruco.so
/usr/local/lib/libopencv_aruco.so.3.1
/usr/local/lib/libopencv_aruco.so.3.1.0
So etwas ist offensichtlich falsch. Ich bemerkte außerdem, dass bei der Installation Cmake sagt mir die folgenden (zusammen mit anderen aus dieser Bibliothek):
Removed runtime path from "/usr/local/lib/libaruco.so.2.0.7"
Heißt das etwas damit zu tun haben? Wenn Sie einen Blick auf die Bibliothek werfen möchten, finden Sie sie unter here on sourceforge. Ich kann nicht ohne sie bauen, wie bekomme ich das zum Laufen?
Okay dank orten, ich die Findaruco.cmake Datei auf eine kopierte/Module-Ordner in meinem Projekt und setzen Sie den CMAKE_MODULE_PATH darauf. Es funktioniert jetzt. Ich denke jedoch, dass der Ersteller der aruco-Bibliothek eine arucoConfig.cmake-Datei erstellt haben sollte. – RunOrVeith
ja er sollte, Iirc ist es relativ neueren (vielleicht Version 3 von cmake?) Also vielleicht die Aruco Lib ist älter idk, froh, dass das Problem gelöst – kirinthos