金羊座 2017-11-22 02:14 采纳率: 16.7%
浏览 2162

移植到arm出错hidden symbol `__sync_fetch_and_add_4

在linux上,用的是arm的交叉编译工具,arm-none-linux-guneabi- 进行交叉编译一个自己写的网络库,网络库中用到了多线程,我使用的pthread_mutex_t,互斥锁,跟pthread_cand_t来保证线程同步,现在编译报错了,
第一个错误是hidden symbol `__sync_fetch_and_add_4' is referenced by DSO
第二个错误 final link failed:Bad value
第二个错误应该是第一个错误引起的吧,在网上查了一下有解决 移植到arm上出undefined reference to '__sync_sub_and_fetch_4的错 的帖子,是生成了一个静态库加进项目里面,解决了,我试了 但是没任何用处,
又继续找了一下,在https://stackoverflow.com/questions/25721750/hidden-symbol-sync-fetch-and-add-4-is-referenced-by-dso上找到过差不多的问题,下面回答给的答案是,平台不支持这种原子操作,并没给出解决方案,
hidden symbol ...... is referenced by DSO 网上对这种问题,有很多都是回答的是:错误原因主要是c++的一些符号是在运行时动态解析的
解决的办法是在那个hidden symbol前加
attribute ((visibility("default")))
但是__sync_fetch_and_add_4'这个是编译器自带的函数,能不能修改,如果可以,再哪儿修改?
有没有大神遇到过这个问题,有解决方案的?

  • 写回答

1条回答

  • 金羊座 2017-11-22 06:18
    关注

    已经搞定了,就是加那个静态库,我加错位置了,应该加在我生成动态库那一步

    评论

报告相同问题?

悬赏问题

  • ¥15 SQL Server下载
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥15 python爬取bilibili校园招聘网站
  • ¥30 求解达问题(有红包)
  • ¥15 请解包一个pak文件
  • ¥15 不同系统编译兼容问题
  • ¥100 三相直流充电模块对数字电源芯片在物理上它必须具备哪些功能和性能?
  • ¥30 数字电源对DSP芯片的具体要求