问题描述:使用如下命令编译483和447测试集时
runspec --config=sff-alpha32.cfg --size=ref --noreportable --tune=base --iterations=1 dealII
runspec --config=sff-alpha32.cfg --size=ref --noreportable --tune=base --iterations=1 xalancbmk
出现如下编译错误:
Build of 483.xanancbmk dies with:
FormatterToHTML.cpp: In member function 'void xalanc_1_8::FormatterToHTML::initCharsMap()':
FormatterToHTML.cpp:139:42: error: 'memset' was not declared in this scope
specmake: *** [FormatterToHTML.o] Error 1
and 447.dealII with:
quadrature.cc: In constructor 'Quadrature<dim>::Quadrature(const std::vector<Point<dim> >&)':
quadrature.cc:64:26: error: 'atof' is not a member of 'std'
specmake: *** [quadrature.o] Error 1
解决方法:出现上述错误的主要原因是缺少库文件,GCC有很好的选项可以解决该问题。只需要在alpha.cfg(编译配置文件)文件中的Portability部分加入如下选项:
##########################################################
# Portability Section 主要是两个-inlude部分
##########################################################
483.xalancbmk=default=default=default:
CXXPORTABILITY= -DSPEC_CPU_LINUX -include cstdlib -include cstring
447.dealII=default:
CXXPORTABILITY = -include cstdlib -include cstring
修改好配置文件后在重新编译一遍即可。

遇到使用特定配置文件编译483和447测试集时出现的编译错误?本文提供了解决方案:在alpha.cfg文件中加入GCC选项以解决缺少库文件的问题,并通过重新编译实现成功构建。
6371

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



