ARM的Clang交叉编译

时间:2016-02-09 15:12:32

标签: c arm clang llvm

我正在尝试使用stdint.h(这是Debian的软件包)标头为ARM(特别是Cortex-M3)编译包含arm-none-eabi的文件。命令是:

clang -I/usr/lib/gcc/arm-none-eabi/4.8/include \
    -target arm-none-eabi cfile.c -o cfile.o

-mcpu-mfpu-mfloat-abi为了简单起见而被遗漏了)

返回错误:

In file included from cfile.c:1:
In file included from ./cfile.h:4:
In file included from /usr/lib/gcc/arm-none-eabi/4.8/include/stdint.h:9:
In file included from /usr/lib/llvm-3.5/bin/../lib/clang/3.5.0/include/stdint.h:61:
In file included from /usr/include/stdint.h:25:
/usr/include/features.h:374:12: fatal error: 'sys/cdefs.h' file not found
#  include <sys/cdefs.h>
           ^
1 error generated.

我一直关注this guide

我的版本:

$ clang --version
Debian clang version 3.5.0-10 (tags/RELEASE_350/final) (based on LLVM 3.5.0)

$ arm-none-eabi-gcc --version
arm-none-eabi-gcc (4.8.4-1+11-1) 4.8.4 20141219 (release)

关于如何解决这个问题的任何想法?

P.S。:不是this question的副本。

1 个答案:

答案 0 :(得分:2)

要解决此问题,您必须安装$client->__setLocation('https://api-3t.paypal.com/2.0/');
g++-multilib - GNU C ++编译器,一个相当便携的C ++优化编译器。 它将安装所需的标题。

作为g++-multilib选项的答案(来自评论部分): 你是绝对正确的 sysroot应该与从zips安装的交叉编译器一起使用。从您试图使用哪个编译器的问题中不清楚。

相关问题