【发布时间】:2018-01-19 04:38:31
【问题描述】:
我正在尝试使用我需要 stdint.h 的源文件之一中的 aarch64 交叉编译器从 x86 计算机为树莓派 3 编译一些内核代码,但是当我尝试编译时它失败了
>make
rm kernel8.elf *.o >/dev/null 2>/dev/null || true
rm -rf *.o *.img *.elf
aarch64-linux-gnu-gcc -Wall -c start.s -o start.o
aarch64-linux-gnu-gcc -Wall -c delays.c -o delays.o
In file included from gpio.h:4:0,
from delays.c:26:
/usr/lib/gcc/aarch64-linux-gnu/7/include/stdint.h:9:16: fatal error: stdint.h: No such file or directory
# include_next <stdint.h>
^~~~~~~~~~
compilation terminated.
make: *** [Makefile:15: delays.o] Error 1
我正在运行 Fedors 26 并且已经使用过
sudo dnf install *aarch64*
所以我有所有合适的包或应该有。
【问题讨论】:
-
你需要检查几件事:1)
uname -a(确保内核是arm8)2)你是否安装了构建工具(运行以下命令:sudo apt-get install -y bc build-essential gcc-aarch64-linux-gnu)。 -
使用
-std=c11 -pedantic-errors编译以确保您在C 编译器模式下使用gcc。 -
@MilindDeore 我的问题不清楚我现在已经澄清我正在使用 aarch64 编译器作为基于 x86 计算机的交叉编译器。
-
@Lundin 我已经编辑了我的 makefile 以包含您建议的内容,这没有任何区别。
-
@OliverStrong 安装包
glibc-headers修复了吗?
标签: c gcc embedded arm64 stdint