C++11 CGAL4.10中的编译错误-CGAL AABB_traits.h中的DBL_MAX

C++11 CGAL4.10中的编译错误-CGAL AABB_traits.h中的DBL_MAX,c++11,cgal,aabb,C++11,Cgal,Aabb,我正在使用CGAL的AABB进行我的项目。我对CGAL3.9没有问题。但是,现在我使用的是一个具有CGAL4.10的集群。当我编译代码时,我得到以下错误 /apps/cgal/4.10/gnu/include/CGAL/AABB_traits.h:125:20: error: 'DBL_MAX' was not declared in this scope FT t_near = -DBL_MAX; // std::numeric_limits<FT>::lowest();

我正在使用CGAL的AABB进行我的项目。我对CGAL3.9没有问题。但是,现在我使用的是一个具有CGAL4.10的集群。当我编译代码时,我得到以下错误

/apps/cgal/4.10/gnu/include/CGAL/AABB_traits.h:125:20: error: 'DBL_MAX' was not declared in this scope

    FT t_near = -DBL_MAX; // std::numeric_limits<FT>::lowest(); C++1903
/apps/cgal/4.10/gnu/include/cgal/AABB_traits.h:125:20:错误:“DBL_MAX”未在此范围内声明
FT t_near=-DBL_MAX;//标准::数值限制::最低();C++1903
我知道DBL_MAX是在
(或float.h)中定义的,但是我不能在集群中编辑CGAL源代码,因为我没有root权限


如何解决这个问题?

您可以在程序的早期加入cfloat,而不必更改CGAL标题。谢谢您,Marc。它不起作用。我将其作为代码中的第一个头文件。我也犯了同样的错误。如果我将头放在文件中,CGAL AABB如何看到DBL_MAX?头文件不一定要在使用DBL_MAX的文件中吗?经过几个小时的努力,我终于解决了这个问题。在添加CGAL头文件之前,我定义了DBL_MAX(使用#define DBL_MAX 1.7976931348623157E+308)。它起作用了。不,include不必在使用它们的文件中。在您的程序中首先包含cfloat并没有起作用,这是非常可疑的。很可能您在编译时出错了。我发现了问题所在。编译代码时,我正在将CGAL文件夹添加到include路径。一旦删除它,我就可以成功编译,而不必定义DBL_MAX。