Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 交叉编译器错误:\ cxa\抛出\错误\数组\新\长度主机或目标?_C++_Linux_Gcc_Cross Compiling_Icu - Fatal编程技术网

C++ 交叉编译器错误:\ cxa\抛出\错误\数组\新\长度主机或目标?

C++ 交叉编译器错误:\ cxa\抛出\错误\数组\新\长度主机或目标?,c++,linux,gcc,cross-compiling,icu,C++,Linux,Gcc,Cross Compiling,Icu,为了在Debian机器上为RPi3(Raspbian)交叉编译Qt5,我需要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=a

为了在Debian机器上为RPi3(Raspbian)交叉编译Qt5,我需要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目录中。
我应该如何理解缺失的内容?

看起来更像是您路径中的ICU是根据不同版本的libstdc++或类似版本编译的。对:这看起来像是问题所在。