所使用的虚拟机:
- vritualbox
- ubuntu22.04
问题一:无法安装libsdl2-dev,可能破坏依赖关系
执行sudo apt-get install libsdl2-dev时提示可能破坏已有依赖关系,参考本篇回答,在执行apt-get dist-upgrade之后,成功安装。
问题二:make[1]: bison: Command not found;make[1]: flex: Command not found
执行make menuconfig之后出现的。这两个都是同类的问题,是由于缺少bison和flex导致的,所以只要执行:
sudo apt-get install bison
sudo apt-get install flex
即可。
问题三:llvm/Support/TargetRegistry.h: No such file or directory
在nemu目录中执行make时出现这样的错误。
原因是22.04默认安装的llvm版本为14,可以执行llvm-config --version看一下,PA所需要的llvm版本是11,而14中是没有TargetRegistry.h的,所以可以通过首先安装llvm-11来获取该文件:
sudo apt-get install llvm-11
<

在Ubuntu22.04的VirtualBox环境中,遇到三个技术问题:1)安装libsdl2-dev时可能破坏依赖关系,解决方案是先执行`apt-getdist-upgrade`;2)缺少bison和flex导致编译错误,通过安装这两个工具解决;3)LLVM版本不匹配,需要安装llvm-11并处理TargetRegistry.h头文件问题,以及修正编译错误。

1833

被折叠的 条评论
为什么被折叠?



