交叉编译错误:隐藏符号..最终链接失败



使用ffmpeg编译opencv时出现以下错误。

/arm none linux gnueabi/bin/ld:..//bin/opencv_test_core:在…中隐藏符号"__sync_val_compare_and_swap_4"/arm none-linux-gneabi/bin/ld:最终链接失败:输出上不可表示的部分collect2:ld返回1退出状态

我不知道这意味着什么。我该如何解决这个问题?

编辑:我正在使用codesourcery的ARM-2009q3编译器为ARM进行交叉编译。我使用cmake和make进行编译。

请检查您使用的所有库,并通过此stackerflow线程。

对我来说,当我将我的产品迁移到新的GCC版本(3.3.3到4.5.4)时,我得到了以下错误

hidden symbol `__clz_tab' in /../lib/gcc/mipsel-unknown-linux-uclibc/4.5.4/libgcc.a(_clz.o) is referenced by DSO

后来我发现,我试图链接的一个库是使用GCC 3.3.3构建的。在GCC 4.5.4下构建另一个库后,"隐藏符号"错误消失了。

最新更新