错误交叉编译:隐藏符号...最终 link 失败
Error Cross Compiling: hidden symbol ... final link failed
使用ffmpeg编译opencv时出现如下错误
..../arm-none-linux-gnueabi/bin/ld: ../../bin/opencv_test_core: hidden symbol `__sync_val_compare_and_swap_4' in ..../arm-none-linux-gnueabi/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status
我不知道这是什么意思。我该如何解决这个问题?
编辑:
我正在使用 codesourcery 的 arm-2009q3 编译器为 ARM 进行交叉编译。
我使用 cmake 和 make 编译。
请检查您使用的所有库,并查看 this Whosebug 线程。
对我来说,当我将我的产品迁移到新的 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
后来我发现我尝试 link 的库之一是使用 GCC 3.3.3 构建的。在 GCC 4.5.4 下构建其他库后,'hidden symbol' 错误消失了。
使用ffmpeg编译opencv时出现如下错误
..../arm-none-linux-gnueabi/bin/ld: ../../bin/opencv_test_core: hidden symbol `__sync_val_compare_and_swap_4' in ..../arm-none-linux-gnueabi/bin/ld: final link failed: Nonrepresentable section on output collect2: ld returned 1 exit status
我不知道这是什么意思。我该如何解决这个问题?
编辑: 我正在使用 codesourcery 的 arm-2009q3 编译器为 ARM 进行交叉编译。 我使用 cmake 和 make 编译。
请检查您使用的所有库,并查看 this Whosebug 线程。
对我来说,当我将我的产品迁移到新的 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
后来我发现我尝试 link 的库之一是使用 GCC 3.3.3 构建的。在 GCC 4.5.4 下构建其他库后,'hidden symbol' 错误消失了。