日期:2014-05-16  浏览次数:20868 次

UBUTUN下交叉编译ICU错误libstdc++.so.6 not found
本帖最后由 fastbmw 于 2012-05-27 20:23:50 编辑
我在UBUTUN下编译ICU,先用GCC编译一遍,通过无错误,再用交叉编译器arm-hisiv200-linux重新编译,make时报错如下
/opt/hisi-linux/x86-arm/arm-hisiv200-linux/bin/../lib/gcc/arm-hisiv200-linux-gnueabi/4.4.1/../../../../arm-hisiv200-linux-gnueabi/bin/ld: warning: libstdc++.so.6, needed by ../../lib/libicui18n.so, not found (try using -rpath or -rpath-link)
../../lib/libicui18n.so: undefined reference to `operator delete(void*)'
../../lib/libicui18n.so: undefined reference to `__cxa_pure_virtual'
../../lib/libicui18n.so: undefined reference to `__gxx_personality_v0'
../../lib/libicui18n.so: undefined reference to `__cxa_end_cleanup'
../../lib/libicui18n.so: undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info'
../../lib/libicui18n.so: undefined reference to `vtable for __cxxabiv1::__class_type_info'
../../lib/libicui18n.so: undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
collect2: ld returned 1 exit status
make[2]: *** [../../bin/derb] 错误 1
make[2]:正在离开目录 `/home/zhujiang/WebKit-r79679/icu/source/tools/genrb'
make[1]: *** [all-recursive] 错误 2
make[1]:正在离开目录 `/home/zhujiang/WebKit-r79679/icu/source/tools'
make: *** [all-recursive] 错误 2

可是
/opt/hisi-linux/x86-arm/arm-hisiv200-linux/arm-hisiv200-linux-gnueabi/lib下有libstdc++.so.6,请问如何解决问题

------解决方案--------------------
貌似ubuntu你用的是x86的libstdc++.so.6,arm交叉编译时没有找到需要的arm平台的libstdc++.so.6吧

warning: libstdc++.so.6, needed by ../../lib/libicui18n.so, not found (try using -rpath or -rpath-link)