Windows mingw C++;韩元';t编译j0函数
我正在尝试使用MingW(msys2)在Windows上编译一个程序,但使用j0函数失败。在Linux上,它编译没有问题。我似乎讨厌在编译器上使用-std=c++11标志。如何在启用-std=c++11标志的情况下正确编译此文件 示例代码:Windows mingw C++;韩元';t编译j0函数,windows,c++11,mingw,cmath,Windows,C++11,Mingw,Cmath,我正在尝试使用MingW(msys2)在Windows上编译一个程序,但使用j0函数失败。在Linux上,它编译没有问题。我似乎讨厌在编译器上使用-std=c++11标志。如何在启用-std=c++11标志的情况下正确编译此文件 示例代码: #include <cmath> int main( int argc, char *argv[] ) { float test = j0( 5 ); } 显然,MinGW仅在未定义\uu STRICT\u ANSI\uu时定义贝塞
#include <cmath>
int main( int argc, char *argv[] )
{
float test = j0( 5 );
}
显然,MinGW仅在未定义
\uu STRICT\u ANSI\uu
时定义贝塞尔函数,并且在指定-std=c++11
时定义贝塞尔函数。通过在文件顶部添加#undef uu STRICT_uansi u
,我可以让您的代码在MinGW中编译。看
您也可以试试
-std=gnu++11
。参见显然,MinGW仅在未定义\uuuu STRICT\u ANSI\uuu
时定义贝塞尔函数,并且在指定-std=c++11
时定义贝塞尔函数。通过在文件顶部添加#undef uu STRICT_uansi u
,我可以让您的代码在MinGW中编译。看
您也可以试试
-std=gnu++11
。请看这是一个非常好的答案。添加-std=gnu++11确实很好地解决了这个问题。这是一个非常好的答案。添加-std=gnu++11确实很好地解决了这个问题。
$ g++ -std=c++11 test.cpp -o test
test.cpp: In function 'int main(int, char**)':
test.cpp:6:21: error: 'j0' was not declared in this scope
float test = j0( 5 );