繁体   English   中英

用于ARM的Clang交叉编译

[英]Clang cross-compilation for ARM

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

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

(为简单起见, -mfloat-abi -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.

我一般都遵循本指南

我的版本:

$ 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)

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

PS:不是这个问题的重复。

要解决此问题,您必须安装g++-multilib
g++-multilib -GNU C ++编译器,一个相当g++-multilib的C ++优化编译器。 它将安装必需的标题。

作为sysroot选项的答案(来自注释部分):绝对正确的sysroot应该与从zip安装的交叉编译器一起使用。 从一个问题还不清楚您要使用哪个编译器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM