我开发了一个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,它返回我没有路径。
你能帮我解决这个问题吗?
在我的另一台电脑上,我没有遇到这个问题。
答案 0 :(得分:0)
我通过使用binutils-multiarch解决了这个问题,然后通过指定我的g ++当前版本并通过在构建示例之前将lib补丁添加到ld.so.config文本文件来再次编译库。