有时候c++程序在编译的时候不会报错,但是在运行的时候会报dlopen失败。

此时多数是因为动态库的路径找不到。

在linux开发中,如果想要调用基础模块库,就要包含对应的头文件,并且指出指定的头文件路径和对应的库。

如果没有指定对应的头文件,则编译报错,提示找不到头文件

如果指定了库路径,但实际上没有库,则会报找不到库文件的错误

如果没有指定库的路径或者其他原因,则编译不会报错,运行是会报错,提示dlopen失败

不需要等到运行阶段发现问题,可以在编译出so库后,用ldd -r命令找出undefined的函数名,也可以用nm命令。

用法:

ldd -r test.so      查出缺少_ZN18base_local_planner12CostmapModelC1ERKN10costmap_2d9Costmap2DE

c++filt  _ZN18base_local_planner12CostmapModelC1ERKN10costmap_2d9Costmap2DE

输出:

base_local_planner::CostmapModel::CostmapModel(costmap_2d::Costmap2D const&)

ROSERROR : C++ filt命令相关推荐

  1. Linux 命令(59)—— c++filt 命令

    1.命令简介 c++filt 命令可用于解析 C++ 和 Java 中被修饰的符号,比如变量与函数名称. 我们知道, 在 C++ 和 Java 中, 允许函数重载,也就是说我们可以写出多个同名但参数类 ...

  2. linux下的c++filt命令

    一个简单的linux命令,确实不值得大费周折,但是如果能与实际开发工作联系起来,解决实际开发中的困惑,在生动的实际场景中学习命令,那无疑是棒棒哒的感觉. 最近刚好用c++filt解决了相关实际问题,故 ...

  3. Linux 后台开发常用命令目录(更新 ing)

    文章目录 前言 帮助命令 进程与作业管理 文本查看 文本编辑 编程相关 系统管理 文件传输 网络管理 文件与目录管理 磁盘管理 权限管理 用户与组管理 备份压缩 代码版本控制 性能检测 实用工具 前言 ...

  4. linux无界面手敲命令笔记

    0 Ubuntu相关命令简介 1. 文件及目录操作命令 pwd:显示用户当前所处的目录 ls:列出目录下的文件清单 cd:改变当前目录cd - 返回上一级目cd / 进入根目录不加参数或参数为&quo ...

  5. c++filt address2line GDB栈跟踪

    http://www.wuzesheng.com/?p=1804 :~> c++filt _Z16print_stacktracev print_stacktrace() nm命令介绍的很多,但 ...

  6. 《Linux 后台开发命令300》目录(更新 ing)

    文章目录 前言 本书由来 内容简介 目标读者 互动勘误 帮助命令 文件系统 1.文件与目录查看 2.文件与目录管理 3.文本查看 4.文本编辑 5.文件查找 6.打包与压缩 7.磁盘管理 进程管理 1 ...

  7. 原创 ubuntu常用命令大集合

    ubuntu常用命令大集合 本文转载来源,感谢大佬! https://blog.csdn.net/fengbingchun/article/details/40923763 1. 获取Ubuntu版本 ...

  8. c++filt command

    文章目录 1.命令简介 2.命令格式 3.选项说明 4.常用示例 参考文献 大咖好呀,我是恋喵大鲤鱼. !!! 我的第二本开源书籍<后台开发命令365>上线啦,欢迎大家协同共建. !!! ...

  9. C++ name mangling

    name mangling在wiki上的定义:它提供了在函数.结构体.类或其它的数据类型的名字中编码附加信息一种方法,用于从编译器中向链接器传递更多语义信息. 简单来说就是在编译阶段将函数名进行转换, ...

最新文章

  1. Uva1600 巡逻机器人
  2. python菜鸟教程n-Python 元组
  3. Chrome浏览器扩展开发系列之五:Page Action类型的Chrome浏览器扩展
  4. 选择company回显appname
  5. 我的笔记本的鼠标又乱跑了!寻求帮助!
  6. 解决C# Repeater内嵌Repeater 数据绑定,以及第二次层Repeater的ItemDataBound事件怎么处理...
  7. 在列表中根据条件来筛选数据
  8. php代码执行漏洞,预警!!!PHP 远程代码执行漏洞
  9. centos7查看当前使用的redis的版本信息命令
  10. Netty实战项目:Spring boot 程序的聊天程序
  11. MySQL数据库系列
  12. 创建List的应用小结
  13. bootstrap table列宽设置无效解决
  14. matlab里的timer,关于Matlab中用timer来实现多线程机制
  15. centos os u盘启动盘_怎么制作linux系统安装盘,U盘启动盘
  16. 数据科学----知识树(机器学习、数据挖掘学习思维导图)
  17. 针孔监控摄像头检测神器!
  18. 服务器硬盘无法显示扩展卷,win10硬盘分区合并扩展卷没法点怎么解决_win10硬盘分区不能点扩展卷修复方法-win7之家...
  19. C++打印之字形矩阵
  20. Windows更改鼠标指针样式

热门文章

  1. DQN相关知识总结及演员-评论员算法介绍(DataWhale组队学习笔记)
  2. 【OCP|052】OCP最新题库解析(052)--小麦苗解答版
  3. MySQL数据库如何备份、恢复、导出与导入
  4. UBOOT源码分析的第一阶段start.S分析(3)
  5. git reset 怎么还原_git 本地修改被reset后怎么恢复
  6. 学计算机英语的心得体会,英语学习心得体会
  7. 情人节程序员用HTML网页表白【3D旋转木马相册】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
  8. 简述Z-Stack的基本工作原理与流程(OSAL操作系统)
  9. 小赛毛游C记-初识C语言(2)
  10. 外汇天眼:央行人民币降息意味着什么?有什么影响?