首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ARM交叉编译

ARM交叉编译
EN

Stack Overflow用户
提问于 2016-02-09 15:12:32
回答 1查看 4.5K关注 0票数 3

我正在使用arm-none-eabi (Debian的包)头来编译一个包含ARM (特别是Cortex-M3)的arm-none-eabi文件。该命令是:

代码语言:javascript
复制
clang -I/usr/lib/gcc/arm-none-eabi/4.8/include \
    -target arm-none-eabi cfile.c -o cfile.o

(为了简单起见,-mcpu-mfpu-mfloat-abi都被忽略了)

返回一个错误:

代码语言:javascript
复制
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.

我一直在跟踪本指南

我的版本:

代码语言:javascript
复制
$ 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.:不是这个问题的复制品。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-09 15:55:06

要解决这个问题,您必须安装g++-multilib

g++-multilib - GNU C++编译器,这是一个可移植的C++优化编译器。它将安装所需的标头。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35295502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档