ARM设备的交叉编译库

时间:2011-03-03 19:27:01

标签: c++ qt4 arm portability abi

我在部署使用Qt库到ARM设备的示例应用程序时遇到了一些困难。我使用为我的系统提供的交叉编译器编译了库,我将二进制文件复制到设备中,并使用相同的编译器编译了一个示例应用程序。当我尝试启动它时,这就是我得到的;

  

/ usr / lib / libstdc ++。so.6:找不到版本`CXXABI_ARM_1.3.3'(./libQtNetwork.so.4要求)

     

/ usr / lib / libstdc ++。so.6:找不到版本`CXXABI_ARM_1.3.3'(./libQtCore.so.4要求)

可能导致这种情况的原因是什么?我使用了制造商提供的工具链,所以它应该没问题......编译器是否可能是正确的,但它不是链接到它提供的libstc ++,而是链接到我的系统中的libstdc ++,链接后面的链接路径? 谢谢!

2 个答案:

答案 0 :(得分:1)

据我所知,对我的问题的第一个评论正是解决方案。该库的版本相同但不兼容。我将该库移动到设备上,一切正常。

答案 1 :(得分:0)

根据我的经验,我有一个随GCC工具链一起提供的FriendlyARM。要生成正确的代码,我需要手动指定-mcpu-mfp-mabi-mabi-float

如果你构建自己的GCC,你可以设置默认值,但至少在我的devkit中,它们的默认值是错误的。