交叉编译Ubuntu eclipse以武装beaglebone

时间:2016-01-19 22:38:10

标签: c++ linux eclipse cross-compiling

我有一个过程,我已经使用了很多年来交叉编译beaglebone black的应用程序。我上次使用的下载是

GCC-Linaro的臂-Linux的gnueabihf-4.9-2014.09_linix

我有几个有效的程序,但我最近有更多的创意,所以我决定升级到新的工具链,所以我下载并安装了:

GCC-Linaro的-5.2-2015.08-x86_64_arm-Linux的gnueabihf

现在即使是最简单的文件也无法编译。

编译器声称无法找到features.h。

我认为这可能是来自beaglebone的文件。果然,所以我从beaglebone带来了它,现在它抱怨它找不到bits / predefs.h。该文件也在beaglebone上,但我严重怀疑这是我应该做的。

有没有办法解决这个问题?

我在64位操作系统上使用Ubuntu 14.04 LTS。

修改详情:

如果我的程序什么都不做,只有

#include <iostream>
int main()
{
    return 0;
}

make的输出是 /usr/local/arm/arm-linux-gnueabihf/include/c++/5.2.1/features.h:323:26:致命错误:bits / predefs.h:没有这样的文件或目录

如果我注释掉#include

输出是:

arm-linux-gnueabihf-g ++ -L / usr / local / lib / arm -L / usr / local / arm / lib -o“FTDTest”./ src / FTDTest.o
/usr/local/arm/bin/../lib/gcc/arm-linux-gnueabihf/5.2.1/../../../../arm-linux-gnueabihf/bin/ld:找不到crt1.o:没有这样的文件或目录 /usr/local/arm/bin/../lib/gcc/arm-linux-gnueabihf/5.2.1/../../../../arm-linux-gnueabihf/bin/ld:找不到crti.o:没有这样的文件或目录 /usr/local/arm/bin/../lib/gcc/arm-linux-gnueabihf/5.2.1/../../../../arm-linux-gnueabihf/bin/ld:找不到-lm

解决方案: 问题是工具链中的sysroot没有指向正确的目录。由于我无法在不重建工具链的情况下更改sysroot,因此我将sysroot的目录移动到sysroot指向的目录,它就像一个魅力。这不是最好的解决方案,但它会让我过去。

0 个答案:

没有答案