gcc链接器错误:找不到符号的版本节点 [英] gcc linker error: version node not found for symbol
问题描述
我正在尝试构建共享库,但出现以下错误:
libavformat.so:找不到版本节点用于符号av_dup_packet @ LIBAVFORMAT_52
ld:无法设置动态部分的尺寸:差的价格
有人知道这个错误是什么意思吗?主机是i586-linux,目标是arm-linux
修改:已解决,请查看评论
它是由内联汇编指令 .symver
引起的.我的解决方案是手动修改生成的config.h以禁用版本节点符号.
查看内部.h 第 214-223 行
I'm trying to build a shared library, and I get the following error:
libavformat.so: version node not found for symbol av_dup_packet@LIBAVFORMAT_52
ld: failed to set dynamic section sizes: Bad value
Does anybody knows what this error means? Host is i586-linux target is arm-linux
Edit: Resolved, see comments
It was caused by an inline assembly directive .symver
. My solution was to manually modify the generated config.h to disable version nodes symbols.
Check out internal.h lines 214-223
这篇关于gcc链接器错误:找不到符号的版本节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!