操作过程
操作过程如下(以64位Ubuntu为例):
检查系统是否支持多架构
(1) 确认主机系统为64位架构的内核
在命令终端中运行 dpkg--print-architecture,应该输出amd64
(2) 确认系统多架构功能已经打开,以支持1386
在命令终端中运行 dpkg--print-foreign-architectures,应该输出i386
如果(2)中检测到多架构功能尚未打开,则使用下述命令安装
sudo dpkg--add-architecture i386
安装32位编译环境与支持库
(1) 检查gcc与g++是否已经安装,如果尚未安装,使用如下命令安装它们。
sudo apt install gcc g++
(2)安装32位编译环境与支持库
sudo apt install build-essential g++-multilib gcc-multilib
修改Nachos
(1) 修改code目录下的Makefile.dep文件
在C++的编译器CC与链接器LD后追加-m32,在汇编编译器AS后追加--32,修改后的内容如下所示:
ifndef MAKEFILE_DEP
define MAKEFILE_DEP
yes
endef
# These definitions may change as the software is updated.
# Some of them are also system dependent
CPP=/lib/cpp
CC = g++ -m32
LD = g++ -m32
AS = as --32
uname = $(shell uname)
$(warning $(uname))

本文详细阐述了在64位Ubuntu系统上如何检查并启用多架构支持,安装32位编译环境,以及解决在Nachos项目中遇到的编译警告和结构调整。涉及的问题包括C++标准变化、void*指针处理和编译选项更新。
最低0.47元/天 解锁文章
1432





