Je suis en train d'essayer d'ajouter la bibliothèque RaspiCam trouvé ici:Référence non définie, mais Linked Library
https://sourceforge.net/projects/raspicam/?source=typ_redirect
à la bibliothèque Apriltags trouvé ici:
http://people.csail.mit.edu/kaess/apriltags/
Je dézippé le RaspiCam bibliothèque et construit séparément, puis copié et collé dans le dossier AprilTags. Mon dossier AprilTags ressemble à ceci maintenant:
AprilTags build cmake CMakeLists.txt example LICENSE Makefile pod-build raspicam-0.1.6 README.txt src systems.txt tags
Dans le dossier raspicam-0.1.6 est la suivante:
build Changelog CMakeLists.txt CMakeLists.txt.user cmake_uninstall.cmake.in dependencies README src utils
ajouter la bibliothèque de raspicam au sommet de mon code dans AprilTags comme:
#include <raspicam/raspicam_cv.h>
et il détecte quand je construis. Je le sais parce que j'ai mal écrit la bibliothèque, ex. raspicam_cvv.h, et il m'a donné une erreur parce qu'il n'y a pas de bibliothèque comme ça. Donc, c'est définitivement lié. Cependant, lorsque je tente d'utiliser la bibliothèque dans le code avec par exemple
raspicam::RaspiCam_Cv Camera;
donne cette erreur:
CMakeFiles/apriltags_demo.dir/apriltags_demo.cpp.o: In function `main':
apriltags_demo.cpp:(.text.startup+0x2d4): undefined reference to `raspicam::RaspiCam_Cv::RaspiCam_Cv()'
apriltags_demo.cpp:(.text.startup+0x324): undefined reference to `raspicam::RaspiCam_Cv::~RaspiCam_Cv()'
apriltags_demo.cpp:(.text.startup+0x384): undefined reference to `raspicam::RaspiCam_Cv::~RaspiCam_Cv()'
collect2: error: ld returned 1 exit status
example/CMakeFiles/apriltags_demo.dir/build.make:139: recipe for target 'bin/apriltags_demo' failed
make[3]: *** [bin/apriltags_demo] Error 1
CMakeFiles/Makefile2:193: recipe for target 'example/CMakeFiles/apriltags_demo.dir/all' failed
make[2]: *** [example/CMakeFiles/apriltags_demo.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make[1]: *** [all] Error 2
Makefile:27: recipe for target 'all' failed
make: *** [all] Error 2
comme une référence non définie. J'ai fait quelques recherches en ligne et trouvé une requête similaire ici: library is linked but reference is undefined où la solution est de changer l'ordre dans lequel vous liez. Cependant, parce que les deux projets sont construits en utilisant CMake, je ne sais pas comment vous changeriez l'ordre des liens. Pour être honnête, je suis un peu perdu en termes de construction en C++ en général, donc toute aide ou conseil est très apprécié. Merci!
Oui, j'ai les fichiers .h et .lib dans le dossier framboise. Changer aussi <> pour "" donne la même erreur. – ksivakumar