1

所以我已经能够构建 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.

有谁知道是什么意思?

4

2 回答 2

0

我解决了这个问题。我更改了 gcc、g++ 版本。我将 gcc 版本从 更改6.04.8.

使用此命令并更改版本。

sudo update-alternatives --config gcc

sudo update-alternatives --config g++
于 2020-08-21T03:58:48.643 回答
0

Dramsim2 已过时,其原作者停止积极维护该项目。尽管您可能想要修复此处描述的代码,但您是否可以通过另外提供 -Wno-nonnull 编译开关来简单地测试构建是否通过了故障点?

于 2018-11-13T00:49:29.230 回答