这学期我正在上一门操作系统课程,在设置一切时遇到了一个问题。
我克隆了 JOS 操作系统的 git 存储库,并想尝试编译所有内容并在 qemu 中运行它。
问题是,当我输入 make 时,qemu-gdb
它会列出一些它成功编译的文件,但在编译时遇到问题printfmt.c
错误是:
obj/kern/printfmt.o: In function `printnum':
lib/printfmt.c:41: undefined reference to `__udivdi3'
lib/printfmt.c:49: undefined reference to `__umoddi3'
make: *** [obj/kern/kernel] Error 1
我正在使用 Ubuntu 14.04.01 LTS 64 位和 GCC 4.8。
据我所知,它与分区和一些库文件有关,但我完全不知道该怎么办,因为对于 Ubuntu 来说我仍然是个新手。
感谢您花时间阅读本文。
答案1
你可能没有 32 位 gcc multilib,请尝试使用软件管理器安装 gcc-multilib 包或apt-get install gcc-4.8-multilib