我目前正在尝试添加在这里找到的RaspiCam库:
到此处找到的Apriltag库:
http://people.csail.mit.edu/kaess/apriltags/
我解压缩RaspiCam库并分别构建它,然后复制并粘贴到AprilTags文件夹中。我的AprilTags文件夹现在看起来是这样的:
AprilTags build cmake CMakeLists.txt example LICENSE Makefile pod-build raspicam-0.1.6 README.txt src systems.txt tags在raspicam-0.1.6文件夹中如下所示:
build Changelog CMakeLists.txt CMakeLists.txt.user cmake_uninstall.cmake.in dependencies README src utils我在AprilTags中将raspicam库添加到代码的顶部,如下所示:
#include <raspicam/raspicam_cv.h>当我建造的时候它就会检测到。我知道这是因为我故意把图书馆写错了,前。raspicam_cvv.h,它给了我一个错误,因为没有这样的库。所以它绝对有联系。但是,当我试图在代码中使用库时,例如:
raspicam::RaspiCam_Cv Camera;它给出了这个错误:
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作为一个未定义的引用。我在网上做了一些研究,并在这里发现了一个类似的查询:library is linked but reference is undefined,解决方案是改变链接的顺序。但是,由于这两个项目都是使用CMake构建的,所以我不知道您将如何更改链接的顺序。
发布于 2017-03-13 18:53:10
注意-如果可以的话,我会对此发表评论,需要更多的代表:
当我忘记在cmake或visual c++中通过vstudio执行这两种操作时,我遇到了这个问题。
https://stackoverflow.com/questions/42771099
复制相似问题