我想在macOS上构建xv6,所以我从 Homebrew Tap安装了交叉编译工具链i386-elf-gcc和i386-elf-gcc。
编译时问题是i386-elf-gcc无法链接标准库。我在一个简单的c文件上测试过,并得到以下错误。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
printf("d\n");
return 0;
}
错误:
> i386-elf-gcc --sysroot=usr/includes test.c
test.c:1:10: fatal error: stdio.h: No such file or directory
#include <stdio.h>
^~~~~~~~~
compilation terminated.
答案 0 :(得分:0)
Here是一个类似的问题。我会在评论部分写它,但我没有这个特权。
答案 1 :(得分:0)
要解决,您可以尝试添加newlib库并将其交叉编译到您的体系结构中。下面的链接说免费软件newlib可以用作stdlib的源代码,以自己全部编译。