在ARM-Cortex Ubuntu发行版上编译i386库

时间:2012-03-20 15:29:09

标签: ubuntu embedded arm libaria

我开发了一个C ++应用程序来使用Ubuntu 11.04在i386 pc上控制我的移动机器人。

现在,我必须在名为Pandaboard的开发板上运行此C ++应用程序,该开发板基于ARM Cortex omap4处理器。

在这个主板上,我已经安装了Ubuntu 11.10预构建二进制文件。

问题是,为了编译我的C ++应用程序,我必须安装libaria这是我用来控制电机的ARIA开源库;当我尝试使用g ++ - 4.6安装此库时,我收到如下错误:

  

无法识别输入文件的格式   `/usr/local/Aria/lib/libArNetworking.so'

我认为这是因为这个库适用于i386,但我使用的是ARM体系结构。

是否有可能在我的主板上编译这个库? (我可以更改操作系统,如果需要的话;对我来说重要的是能够在我的主板上运行我的C ++应用程序,而不是在我的电脑上运行)

感谢您的帮助。

编辑我安装了binutils-multiarch,然后编译正常

我尝试编译示例并且程序没问题,但如果我尝试运行其中一个,我会收到此错误:

  加载共享库时出现

错误:libAria.so:无法打开共享库   目标文件:没有这样的文件或目录

该库存在于/ usr / local / Aria / lib中,我以这种方式将其添加到 /etc/ld.so.config

  

include /etc/ld.so.conf.d/*.conf包含/ usr / local / Aria / lib

然后我运行“ sudo ldconfig

但这并没有解决问题。 :(

如果我输入:locale libAria.so,它返回我没有路径。

你能帮我解决这个问题吗?

在我的另一台电脑上,我没有遇到这个问题。

1 个答案:

答案 0 :(得分:0)

我通过使用binutils-multiarch解决了这个问题,然后通过指定我的g ++当前版本并通过在构建示例之前将lib补丁添加到ld.so.config文本文件来再次编译库。