You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用bootstrap脚本安装Herwig7时遇std::numeric_limits未定义错误求助

解决Herwig7 Bootstrap安装时YODA编译的std::numeric_limits错误

编译失败的核心原因是YODA库的AnalysisObject.h文件引用了std::numeric_limits,但未包含对应的<limits>标准头文件,导致编译器无法识别该类。以下是几种可行的解决方法:

方法1:手动补全缺失的头文件

  • 定位到bootstrap脚本下载的YODA源码目录,进入include/YODA子文件夹
  • 编辑AnalysisObject.h文件,在现有头文件包含区域添加一行:
    #include <limits>
    
  • 返回Herwig7的安装根目录,重新执行./herwig-bootstrap继续编译流程

方法2:指定兼容的C++编译标准

部分旧版本编译器默认使用C98标准,而std::numeric_limits::max_digits10是C11引入的特性。可在运行bootstrap前设置编译参数:

export CXXFLAGS="-std=c++11 $CXXFLAGS"
./herwig-bootstrap [你的自定义安装参数]

方法3:调用系统预安装的YODA库

如果你的系统已经通过包管理器(如apt、yum或brew)安装了YODA,可让bootstrap脚本直接使用现有库,跳过YODA的编译步骤:

./herwig-bootstrap --with-yoda=/usr  # 替换为实际的YODA安装路径,比如/usr/local

内容的提问来源于stack exchange,提问作者Ab_Ad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 02:19:57