speccpu2006 在linux下,编译447时报错。
parameter_handler.cc: In member function ‘long int ParameterHandler::get_integer(const string&) const’:
parameter_handler.cc:763:28: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
AssertThrow ((s.c_str()!=’\0’) || (*endptr == ‘\0’),
^
include/base/exceptions.h:596:15: note: in definition of macro ‘AssertThrow’
if (!(cond))
^~~~
parameter_handler.cc: In member function ‘double ParameterHandler::get_double(const string&) const’:
parameter_handler.cc:777:28: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
AssertThrow ((s.c_str()!=’\0’) || (*endptr == ‘\0’),
^
include/base/exceptions.h:596:15: note: in definition of macro ‘AssertThrow’
if (!(cond))
^~~~
specmake: *** [parameter_handler.o] Error 1
Stop make command: Fri Aug 14 15:13:14 2020 (1597389194)
Elapsed time for make command: 00:01:08 (68)
Error with make ‘specmake build’: check file ‘/home/speccpu2006/benchspec/CPU2006/447.dealII/build/build_base_gcc41-64bit.0000/make.err’
Command returned exit code 2
Error with make!
Compile for ‘447.dealII’ ended at: Fri Aug 14 15:13:14 2020 (1597389194)
Elapsed compile for ‘447.dealII’: 00:01:08 (68)
*** Error building 447.dealII
在cfg中增加编译参数 -fpermissive 解决