[英]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.