本文将为您提供关于xy::isfinite在Linux、BSD和Windows上编译,但不能在SmartOS的详细介绍,同时,我们还将为您提供关于DragonFlyBSD4.0.2发布,BSD系统、D
本文将为您提供关于xy::isfinite 在 Linux、BSD 和 Windows 上编译,但不能在 SmartOS的详细介绍,同时,我们还将为您提供关于DragonFly BSD 4.0.2 发布,BSD 系统、DragonFly BSD 4.0.3 发布,BSD 系统、DragonFly BSD 4.0.5 发布,BSD 系统、DragonFly BSD 4.0.6 发布,BSD 系统的实用信息。
本文目录一览:- xy::isfinite 在 Linux、BSD 和 Windows 上编译,但不能在 SmartOS
- DragonFly BSD 4.0.2 发布,BSD 系统
- DragonFly BSD 4.0.3 发布,BSD 系统
- DragonFly BSD 4.0.5 发布,BSD 系统
- DragonFly BSD 4.0.6 发布,BSD 系统
xy::isfinite 在 Linux、BSD 和 Windows 上编译,但不能在 SmartOS
如何解决xy::isfinite 在 Linux、BSD 和 Windows 上编译,但不能在 SmartOS
我正在尝试将 Quadlods 移植到 SmartOS。它在 Linux 和 DragonFly BSD 上编译和运行。我还没有尝试在 Windows 上运行它,但是使用 xy 类和 isfinite 方法的其他程序可以在 Windows 上编译和运行。但是,在 SmartOS 上编译它,我收到此错误:
[ 15%] Building CXX object CMakeFiles/quadlods.dir/filltest.cpp.o
In file included from /usr/include/math.h:36,from /opt/local/gcc9/include/c++/9.3.0/bits/std_abs.h:40,from /opt/local/gcc9/include/c++/9.3.0/cstdlib:77,from /opt/local/gcc9/include/c++/9.3.0/ext/string_conversions.h:41,from /opt/local/gcc9/include/c++/9.3.0/bits/basic_string.h:6493,from /opt/local/gcc9/include/c++/9.3.0/string:55,from /opt/local/gcc9/include/c++/9.3.0/stdexcept:39,from /opt/local/gcc9/include/c++/9.3.0/optional:38,from /opt/local/gcc9/include/c++/9.3.0/bits/node_handle.h:39,from /opt/local/gcc9/include/c++/9.3.0/bits/stl_tree.h:72,from /opt/local/gcc9/include/c++/9.3.0/map:60,from /home/phma/src/quadlods/quadlods.h:27,from /home/phma/src/quadlods/filltest.h:25,from /home/phma/src/quadlods/filltest.cpp:26:
/home/phma/src/quadlods/xy.h:35:8: error: expected '')'' before ''!='' token
35 | bool isfinite() const;
| ^~~~~~~~
定义宏的文件,导致这个奇怪的错误,是/usr/include/iso/math_c99.h:
#define isfinite(x) (__builtin_isfinite(x) != 0)
头文件中的类定义为
class xy
{
public:
xy(double e,double n);
xy();
double getx() const;
double gety() const;
double length() const;
bool isfinite() const;
bool isnan() const;
friend xy operator+(const xy &l,const xy &r);
friend xy operator+=(xy &l,const xy &r);
friend xy operator-=(xy &l,const xy &r);
friend xy operator-(const xy &l,const xy &r);
friend xy operator-(const xy &r);
friend xy operator*(const xy &l,double r);
friend xy operator*(double l,const xy &r);
friend xy operator/(const xy &l,double r);
friend xy operator/=(xy &l,double r);
friend bool operator!=(const xy &l,const xy &r);
friend bool operator==(const xy &l,const xy &r);
friend xy turn90(xy a);
friend xy turn(xy a,int angle);
friend double dist(xy a,xy b);
protected:
double x,y;
};
是否可以在不重命名方法的情况下在 SmartOS 上进行编译?我想取消定义 isfinite 宏,但是在另一个程序(不是 Quadlods,其头文件只有 quadlods.h)中,xy 类位于库的头文件中。此外,isfinite 方法调用 std::isfinite。
解决方法
Jonathan Perkin 在 IRC 上给我的解决方案是将 #include <cmath>
放在 xy.h 的包含保护之后。这将取消定义宏。它现在可以在 Linux、BSD 和 SmartOS 上编译。
DragonFly BSD 4.0.2 发布,BSD 系统
DragonFly 4.0.2 发布,DragonFly 4 支持 Haswell 图形和 3D 加速;改进了在极高网络流量的性能。DragonFly 现在支持 256 CPUs,Haswell 图形 (i915),操作兵法和各种其他设备。DragonFly 4.0.2 修复了内存泄露问题,还有各种小的更新,更多内容请看发行说明,此版本现已提供下载。
DragonFly BSD(DragonFlyBSD) 是一套开放源代码的类 Unix 操作系统,自 FreeBSD 4.8 分支。
由 于 FreeBSD 开发组将于 FreeBSD 4.11 后不再推出新的 4 系列版本(仅做安全性更新),而新的 FreeBSD 5 系列初期又有性能及稳定性等等的质疑,因此 Matt Dillon 在 2003 年六月另外成立分支计划,并于同年七月时于 FreeBSD 的邮件讨论组群上公布。
Dillon 当时认为 FreeBSD 5 所使用的 Threading 与 SMP 架构将会使得系统难以维护,但不被 FreeBSD 的发展团队接受,于是决定自行发展分支。即便如 此,DragonFly BSD 的发展团队仍与 FreeBSD 密切合作,双方仍然经常互相帮助对方修正 bug,以及驱动程序的更新。
虽然 DragonFly BSD 在逻辑上是 FreeBSD 4.x 系列的后继,但 DragonFly BSD 与 FreeBSD 已有显著的差异。例如 DragonFly BSD 包含了新的轻量级内核线程的实现(“LWKT”)、轻量级的 ports/messaging 系统和含有丰富功能的 HAMMER 文件系统。 DragonFly 计划采纳的方案中有许多来自 AmigaOS 操作系统。
DragonFly BSD 4.0.3 发布,BSD 系统
DragonFly BSD 4.0.3 发布,此版本支持 Haswell 图形;3D 加速;提升了极高流量的网络性能。DragonFly 现在支持 256 CPUs,Haswell graphics (i915),并发 pf 操作和各种其他设备。 4.0.2 修复了一个内存泄漏问题,此版本更新 OpenSSL 到 1.0.1l,还有一些小更新。完整改进内容请看发行说明,此版本现已提供下载。
DragonFly BSD(DragonFlyBSD) 是一套开放源代码的类Unix操作系统,自 FreeBSD 4.8 分支。
由 于FreeBSD开发组将于FreeBSD 4.11后不再推出新的4系列版本(仅做安全性更新),而新的FreeBSD 5系列初期又有性能及稳定性等等的质疑,因此Matt Dillon在2003年六月另外成立分支计划,并于同年七月时于FreeBSD的邮件讨论组群上公布。
Dillon当时认为 FreeBSD 5所使用的Threading与SMP架构将会使得系统难以维护,但不被FreeBSD的发展团队接受,于是决定自行发展分支。即便如 此,DragonFly BSD的发展团队仍与FreeBSD密切合作,双方仍然经常互相帮助对方修正bug,以及驱动程序的更新。
虽然 DragonFly BSD在逻辑上是FreeBSD 4.x系列的后继,但DragonFly BSD与FreeBSD已有显著的差异。例如DragonFly BSD包含了新的轻量级内核线程的实现(“LWKT”)、轻量级的ports/messaging系统和含有丰富功能的HAMMER文件系统。 DragonFly计划采纳的方案中有许多来自AmigaOS操作系统
DragonFly BSD 4.0.5 发布,BSD 系统
DragonFly BSD 4.0.5 发布,此版本 OpenSSL 升级到 1.0.1m 版本,更多内容请看发行说明,现已提供镜像下载。
DragonFly BSD(DragonFlyBSD) 是一套开放源代码的类Unix操作系统,自 FreeBSD 4.8 分支。
由 于FreeBSD开发组将于FreeBSD 4.11后不再推出新的4系列版本(仅做安全性更新),而新的FreeBSD 5系列初期又有性能及稳定性等等的质疑,因此Matt Dillon在2003年六月另外成立分支计划,并于同年七月时于FreeBSD的邮件讨论组群上公布。
Dillon当时认为 FreeBSD 5所使用的Threading与SMP架构将会使得系统难以维护,但不被FreeBSD的发展团队接受,于是决定自行发展分支。即便如 此,DragonFly BSD的发展团队仍与FreeBSD密切合作,双方仍然经常互相帮助对方修正bug,以及驱动程序的更新。
虽然 DragonFly BSD在逻辑上是FreeBSD 4.x系列的后继,但DragonFly BSD与FreeBSD已有显著的差异。例如DragonFly BSD包含了新的轻量级内核线程的实现(“LWKT”)、轻量级的ports/messaging系统和含有丰富功能的HAMMER文件系统。 DragonFly计划采纳的方案中有许多来自AmigaOS操作系统。
DragonFly BSD 4.0.6 发布,BSD 系统
DragonFly BSD 4.0.6 发布,此版本支持 Haswell 图形(i915),3D 加速;支持 256 CPUs;pf 操作并发;支持其他各种设备;提升极高流量网络性能;OpenSSL更新至 1.0.1n。详细改进请看发行说明,此版本现已提供下载。
DragonFly BSD(DragonFlyBSD) 是一套开放源代码的类Unix操作系统,自 FreeBSD 4.8 分支。
由 于FreeBSD开发组将于FreeBSD 4.11后不再推出新的4系列版本(仅做安全性更新),而新的FreeBSD 5系列初期又有性能及稳定性等等的质疑,因此Matt Dillon在2003年六月另外成立分支计划,并于同年七月时于FreeBSD的邮件讨论组群上公布。
Dillon当时认为 FreeBSD 5所使用的Threading与SMP架构将会使得系统难以维护,但不被FreeBSD的发展团队接受,于是决定自行发展分支。即便如 此,DragonFly BSD的发展团队仍与FreeBSD密切合作,双方仍然经常互相帮助对方修正bug,以及驱动程序的更新。
虽然 DragonFly BSD在逻辑上是FreeBSD 4.x系列的后继,但DragonFly BSD与FreeBSD已有显著的差异。例如DragonFly BSD包含了新的轻量级内核线程的实现(“LWKT”)、轻量级的ports/messaging系统和含有丰富功能的HAMMER文件系统。 DragonFly计划采纳的方案中有许多来自AmigaOS操作系统.
今天关于xy::isfinite 在 Linux、BSD 和 Windows 上编译,但不能在 SmartOS的分享就到这里,希望大家有所收获,若想了解更多关于DragonFly BSD 4.0.2 发布,BSD 系统、DragonFly BSD 4.0.3 发布,BSD 系统、DragonFly BSD 4.0.5 发布,BSD 系统、DragonFly BSD 4.0.6 发布,BSD 系统等相关知识,可以在本站进行查询。
本文标签: