undefined symbol的解决记录

14 篇文章 0 订阅
4 篇文章 1 订阅

一、

  • 这里说,是链接顺序的问题,于是在CMakeLists里加了这个:
    -Wl,--start-group
    ${PROJECT_SOURCE_DIR}/lib/libngraph.so
    ${PROJECT_SOURCE_DIR}/lib/libinference_engine_legacy.so
    libinference_engine_transformations.so
    ${PROJECT_SOURCE_DIR}/lib/libinference_engine.so
    ${PROJECT_SOURCE_DIR}/lib/libtbb.so.2
    -Wl,--end-group
  • 无效

二、

  • 又看这里说可能是链接时找不到头文件里的声明
  • 参考开始的博文,使用ldd -r显示所有的undefined symbol
  • 再使用c++filt _ZN3tbb8internal13numa_topology4fillEPi定位错误,显示tbb::internal::numa_topology::fill(int*)
  • 使用grep在新机器上没找到,去旧机器复制相应头文件
  • 无效,可能是没复制全,明天再搞哈哈哈

三、解决!

  • 原因:1.编译时和链接时用的动态库不是同一个;2.可执行程序依赖的库的依赖也链接成系统的库了
  • 方法:export LD_LIBRARY_PATH="/home/lwd/ncs/lib:$LD_LIBRARY_PATH"
  • 如果不想改变环境变量,可以看这里
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刀么克瑟拉莫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值