能够使用 cmake 求解对符号的未定义引用
uable to solve undefined reference to symbol with cmake
我在尝试制作下载的程序时出现以下错误。
CMakeFiles/ptcloud_vslam_node.dir/src/nodes/ptcloud_vslam_node.cpp.o:对符号"pcl::console::p rint(pcl::console::VERBOSITY_LEVEL, char const*, ...)' 的未定义引用
/usr/bin/ld: 注意:"pcl::console::p rint(pcl::console::VERBOSITY_LEVEL, char const*, ...)' 在 DSO/opt/ros/groovy/lib/libpcl_common.so.1.6 中定义,因此请尝试将其添加到链接器 命令行
/opt/ros/groovy/lib/libpcl_common.so.1.6:无法读取符号:无效操作
我尝试在我的 cmake 文件中添加以下内容
LINK_DIRECTORIES(/opt/ros/groovy/lib/libpcl_common.so.1.6)
TARGET_LINK_LIBRARIES(ptcloud_vslam_node libpcl_common.so.1.6)
但是我在运行cmake时出现以下错误
CMake Error at CMakeLists.txt:51 (TARGET_LINK_LIBRARIES): 无法为目标"ptcloud_vslam_node"指定链接库,因为 由该项目构建。
我应该对我的 cmake 文件进行哪些修改才能修复链接错误?
非常感谢
它说"链接目录",但您正在向其传递一个实际的库,错误是不满意的,因为出于某种原因它想要构建ptcloud_vslam_node
,它似乎没有意识到您正在尝试指定它。
请发布更多信息并对此答案添加评论,我会回来查看。
使用库中定义的模板时找不到符号
这将解释链接的工作原理,然后您可能会更好地理解错误。
相关文章:
- vscode g++链路故障:体系结构x86_64的未定义符号
- 在 Mac 上使用 CMAKE 将 FFTW 和 FFTWPP 链接到项目中时未定义的符号
- 在C++中使用内联方法时出现未定义的符号错误
- 引擎节点:未定义的符号:_ZTV6Config
- 未定义的引用,尽管存在符号,但 std::experimental::可选
- 体系结构x86_64的未定义符号:std:terminate(),typeinfo,运算符delete[],运算符new
- Windows 链接器是否使用 LoadLibrary 解析 DLL 中未定义的符号?
- C++ 中 dlsym 的未定义符号
- MacOS 上的 Xcode 11 项目不在一个函数中使用 sin 和 cos:未定义的符号"___sincosf_stret"
- 仅在 MacOS 上析构函数的未定义符号
- OSX clang++:用于 cpp 文件中显式实例化模板的体系结构x86_64的未定义符号
- PCL 出错:体系结构x86_64 @pcl的未定义符号
- clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用) - 体系结构的未定义符号 x86_64:
- 从 C++ 到 Python 的 SWIG:未定义的符号导入问题
- 使用静态变量未解析的外部符号/未定义的引用时出错
- 无法导出mexfunction:符号未定义的collect.exe2.exe:错误:ld返回1退出状态
- 模板生成错误:体系结构的符号未定义 x86_64:
- 继承-符号未定义
- __next_prime符号未定义
- 错误:对cv:: videoccapture::~ videoccapture()的引用符号未定义,命令行中缺少DSO