首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未定义引用但库链接

未定义引用但库链接
EN

Stack Overflow用户
提问于 2017-03-13 18:41:47
回答 1查看 725关注 0票数 0

我目前正在尝试添加在这里找到的RaspiCam库:

redirect

到此处找到的Apriltag库:

http://people.csail.mit.edu/kaess/apriltags/

我解压缩RaspiCam库并分别构建它,然后复制并粘贴到AprilTags文件夹中。我的AprilTags文件夹现在看起来是这样的:

代码语言:javascript
复制
AprilTags build cmake CMakeLists.txt example LICENSE Makefile pod-build raspicam-0.1.6 README.txt src systems.txt tags

在raspicam-0.1.6文件夹中如下所示:

代码语言:javascript
复制
build Changelog CMakeLists.txt CMakeLists.txt.user cmake_uninstall.cmake.in dependencies README src utils

我在AprilTags中将raspicam库添加到代码的顶部,如下所示:

代码语言:javascript
复制
#include <raspicam/raspicam_cv.h>

当我建造的时候它就会检测到。我知道这是因为我故意把图书馆写错了,前。raspicam_cvv.h,它给了我一个错误,因为没有这样的库。所以它绝对有联系。但是,当我试图在代码中使用库时,例如:

代码语言:javascript
复制
raspicam::RaspiCam_Cv Camera;

它给出了这个错误:

代码语言:javascript
复制
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构建的,所以我不知道您将如何更改链接的顺序。

EN

回答 1

Stack Overflow用户

发布于 2017-03-13 18:53:10

注意-如果可以的话,我会对此发表评论,需要更多的代表:

  • 您是否尝试过包含“over<>”?<>用于预定义的目录,而“则”遵循相对路径。
  • 这似乎是一个多余的检查,但您是否确保库中的.lib和相应的.h文件都在同一个目录中?很多人都有.lib,但是缺少了库的.h。

当我忘记在cmake或visual c++中通过vstudio执行这两种操作时,我遇到了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42771099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档