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

时间:2015-04-20 11:24:15

标签: opencv ffmpeg arm cross-compiling

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

  

.... / arm-none-linux-gnueabi / bin / ld:../../ bin / opencv_test_core:隐藏符号`__sync_val_compare_and_swap_4'在.... / arm-none-linux-gnueabi / bin / ld:最后一个链接失败:关于输出的不可代表部分   collect2:ld返回1退出状态

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

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

1 个答案:

答案 0 :(得分:1)

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

对我来说,当我将产品迁移到新的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下构建另一个图书馆之后,隐藏了符号'错误消失了。