在编译XV6之前,我已阅读this page来构建我自己的编译器工具链。结果很相似。
public class Users
{
public int UserId { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
public DateTime InsertTime { get; set; }
public ICollection<UsersUserGroup> UsersUserGroups { get; set; }
public int UserScore { get; set; }
}
但是当我开始编译XV6时,会发生错误:
➜ xv6-public git:(master) ✗ i386-jos-elf-objdump -i
BFD header file version (GNU Binutils) 2.27
elf32-i386
(header little endian, data little endian)
i386
➜ xv6-public git:(master) ✗ i386-jos-elf-gcc -v
Using built-in specs.
COLLECT_GCC=i386-jos-elf-gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/i386-jos-elf/6.1.0/lto-wrapper
Target: i386-jos-elf
Configured with: ../configure --prefix=/usr/local --target=i386-jos-elf --disable-werror --disable-libssp --disable-libmudflap --with-newlib
--without-headers --enable-languages=c CC=/usr/bin/gcc
Thread model: single
gcc version 6.1.0 (GCC)
我搜索了很多博客,没有人有这个问题。 我使用MAC OS X El Capitan(10.11.3)
答案 0 :(得分:4)
您不需要编译自己的交叉编译器(和工具)。它与osx端口一起工作。
sudo port install i386-elf-gcc gdb
我使用Sierra和xv6完美搭配:
make TOOLCHAIN=i386-elf- qemu-nox
调试也有效。
作为旁注,您需要卸载texinfo
以安装i386-elf-binutils
(位于i386-elf-gcc
的依赖链中)。该数据包的文档中存在一些不兼容的代码。
答案 1 :(得分:0)
针对macOS Big Sur(11.0+)的更新
如果您使用的是Homebrew,则以下设置应适用
brew install qemu x86_64-elf-gcc
export TOOLPREFIX=x86_64-elf-
export QEMU=qemu-system-x86_64
make qemu
答案 2 :(得分:-1)
我必须从here安装MacPorts然后使用这两个命令:
sudo port install i386-elf-gcc gdb
make TOOLPREFIX=i386-elf- qemu-nox