交叉编译错误:__ cxa_throw_bad_array_new_length主机或目标?

时间:2016-06-07 19:07:56

标签: c++ linux gcc cross-compiling icu

为了在Debian机器上为RPi3(Raspbian)交叉编译Qt5,我需要ICU支持。在配置期间失败:

  

ICU ....................没有

这里的检查失败了:

checking for ICU... 
/home/mark/opt/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -c -pipe -marm -mfpu=vfp -mtune=arm1176jzf-s -march=armv6zk -mabi=aapcs-linux -mfloat-abi=hard --sysroot=/home/mark/opt/sysroot -O2 -std=gnu++0x -Wall -W -fPIC  -I. -I../../../mkspecs/devices/linux-rasp-pi-g++ -o icu.o icu.cpp
/home/mark/opt/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++ -Wl,-rpath-link,/home/mark/opt/sysroot/opt/vc/lib -Wl,-rpath-link,/home/mark/opt/sysroot/usr/lib/arm-linux-gnueabihf -Wl,-rpath-link,/home/mark/opt/sysroot/lib/arm-linux-gnueabihf -mfloat-abi=hard --sysroot=/home/mark/opt/sysroot -Wl,-O1 -o icu icu.o   --sysroot=/home/mark/opt/sysroot -licui18n -licuuc -licudata
/home/mark/opt/sysroot/usr/lib/arm-linux-gnueabihf/libicui18n.so: undefined reference to `__cxa_throw_bad_array_new_length@CXXABI_1.3.8'
collect2: error: ld returned 1 exit status

谷歌搜索导致lib32stdc++-4.8-dev包丢失。但我不明白丢失的库是在主机上还是在sysroot环境中。

我试图搜索未解决的依赖项:

objdump -p /home/mark/opt/sysroot/usr/lib/arm-linux-gnueabihf/libicui18n.so | grep NEEDED
NEEDED               libicuuc.so.52
NEEDED               libicudata.so.52
NEEDED               libdl.so.2
NEEDED               libstdc++.so.6
NEEDED               libm.so.6
NEEDED               libgcc_s.so.1
NEEDED               libc.so.6
NEEDED               ld-linux-armhf.so.3

所有这些都在我的sysroot目录中。 我该如何理解缺少的东西?

0 个答案:

没有答案
相关问题