我有一个项目需要用Cygwin编译。我需要使用math.h(或cmath)中的nearbyint。但是,即使我可以用MinGW编译这个测试程序,Cygwin也行不通。 Cygwin中的解决方法是#include math.h
,并且不带std::
前缀。另一方面,这种方法不适用于nearbyintl
。造成这种情况的原因是什么?
来自reference的简化示例代码。使用-std=c++11
进行编译。
#include <iostream>
#include <cmath>
#include <cfenv>
int main()
{
std::cout << std::nearbyint(2.3) << std::endl;
std::cout << std::nearbyintl(2.3) << std::endl;
}