Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows mingw C++;韩元';t编译j0函数_Windows_C++11_Mingw_Cmath - Fatal编程技术网

Windows mingw C++;韩元';t编译j0函数

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时定义贝塞

我正在尝试使用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
时定义贝塞尔函数,并且在指定
-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 );