因此,我已经能够构建gem5并运行完整的系统仿真。现在我想将其与dramSim2集成。我将dramsim2克隆到gem5中的ext目录中。我运行以下命令来构建.opt文件 再次 scons build / ARM / gem5.opt 它引发的错误是-
build/dramsim2/DRAMSim2/BusPacket.cpp: In member function 'void
DRAMSim::BusPacket::print(uint64_t, bool)':
build/dramsim2/DRAMSim2/BusPacket.cpp:63:2: error: nonnull
argument
'this' compared to NULL [-Werror=nonnull-compare]
if (this == NULL)
^~
build/dramsim2/DRAMSim2/BusPacket.cpp: In member function 'void
DRAMSim::BusPacket::print()':
build/dramsim2/DRAMSim2/BusPacket.cpp:104:2: error: nonnull
argument
'this' compared to NULL [-Werror=nonnull-compare]
if (this == NULL) //pointer use makes this a necessary precaution
^~
cc1plus: all warnings being treated as errors
scons: *** [build/dramsim2/DRAMSim2/BusPacket.os] Error 1
scons: building terminated because of errors.
有人知道这是什么意思吗?
答案 0 :(得分:0)
Dramsim2已过时,其原始作者停止积极维护该项目。尽管您可能要按照here的说明来修复代码,但是是否可以通过额外提供-Wno-nonnull编译开关来简单地测试构建是否通过了失败点?
答案 1 :(得分:0)
我解决了这个问题。我更改了gcc,g ++版本。
我将gcc版本从6.0
更改为4.8
。
使用此命令并更改版本。
sudo update-alternatives --config gcc
sudo update-alternatives --config g++