为了账号安全,请及时绑定邮箱和手机立即绑定

如何在我的Linux主机上安装Raspberry Pi交叉编译器?

如何在我的Linux主机上安装Raspberry Pi交叉编译器?

万千封印 2019-12-07 14:57:21
我正在尝试为在我的Ubuntu机器上工作的Raspberry Pi进行交叉编译。在最初的尝试中,我使用的是arm-linux-gnueabi编译器,该编译器可在Ubuntu存储库中找到。我得到了这个工作。我能够建立我的所有依赖关系,并在我的cmake项目中使用交叉编译器。但是,我相信我应该使用hf版本,因此我切换到了arm-linux-gnueabihf。然后我意识到这对Raspberry Pi不起作用,因为它是armv6。谷歌搜索后,我从GitHub找到了预构建的工具链。我下载了工具链,但是我不太了解如何“安装”它。我将文件提取到我的主目录。目录结构如下所示:/gcc-linearo-arm-linux-gnueabihf-raspbian    /arm-linux-gnueabihf        /bin            (contains g++, gcc, etc)        /lib            (contains libstdc++ library)    /bin        (contains arm-linux-gnueabihf-g++, arm-linux-gnueabihf-...)    /lib        (gcc lib stuff)如果将目录更改为INNER bin文件夹,则可以从终端编译测试程序,而不会出现任何问题。~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/arm-linux-gnueabihf/bin$ g++ test.cpp -o test然后,我尝试在OUTER bin文件夹中编译一个测试程序,其中包含工具的前缀版本。 ~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin$  arm-linux-gnueabihf-g++ test.cpp -o test但是,当我尝试现在(从内部bin目录外部)使用编译器时,它找不到工具链随附的libstdc ++共享库:arm-linux-gnueabihf-gcc: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory.此外,我希望能够使用编译器而不必导航到bin目录。因此,我尝试将OUTER bin目录(因为我需要带前缀的版本)和两个lib目录都添加到PATH中:export PATH=$PATH:~/tools/.../binexport PATH=$PATH:~/tools/.../libexport PATH=$PATH:~/tools/.../.../lib但是,这将导致相同的错误。我应该如何“安装”工具链,以便可以在任何地方使用该工具链,就像使用Ubuntu回购中的交叉编译器一样?
查看完整描述

3 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

对于Windows主机,我强烈推荐本教程:


下载并安装工具链

将sysroot与您的RPi include / lib目录同步

编译你的代码

使用SmarTTY将可执行文件拖放到RPi

运行!

仅此而已!


预构建的GNU工具链可用于Raspberry,Beaglebone,Cubieboard,AVR(Atmel)等


查看完整回答
反对 回复 2019-12-07
  • 3 回答
  • 0 关注
  • 702 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信