tag 标签: 动态库undefined

相关博文
  • 热度 24
    2021-3-17 14:19
    7694 次阅读|
    0 个评论
    最近工作在调用其他同事的一个动态库的时候发现有 未识别的错误 特此记录一下 首先我们用ldd查一下动态库连接是否有问题 可以看到有两个函数处于(undefined symbol),也就是未定义符号 ,其中这个driver_register 是外部定义的,这个 __DEMO__ 是在这个动态库模块里面定义的 既然如此 找一下他在哪一行 这个红色的U代表"U" The symbol is undefinedundefined的 symbol 这种就是表示 在其他 so动态链接库里面定义的。但是如果你的编译的 是so文件,如果符号不在外部任何so文件里面,默认的配置也不会提示错误。而是编译通过。那个自己忘了定义的符号也在 这 undefined symbol里面,但是运行时就加载不成功了。 需要注意的是,如果找不到这个字符,考虑这个可能是一个宏定义,宏定义在编译的时候会被替换成源 常用的指令包括 ldd mn readelf addr2line