'::hypot' has not been declared

2019-02-17 06:29发布

问题:

I'm using python3.6 theano, with mingw-w64-x86-64 installed, my os is Win10_64, cuda installed, and seems everything is ok

the theano.test() is ok, saying my gpu is working,

but it just keeps tell me that "error: '::hypot' has not been declared"

 C:/mingw64/lib/gcc/x86_64-w64-mingw32/6.3.0/include/c++/cmath:1157:11: error: '::hypot' has 
 not been declared\r.    using ::hypot;\r.            ^~~~~\r. ", 

Any help would be appreciated!

回答1:

I had this error with building an python file using mingw32 . I opened the file that it says (C:/mingw64/lib/gcc/x86_64-w64-mingw32/6.3.0/include/c++/cmath:1157:11)
and changed that line to

using ::_hypot;

or adding this line just before that :

#define hypot _hypot

and after that the problem was solved !! I know it's not a basic solution but it is the one that I could find !!



回答2:

My guess from your incomplete information is that you aren't compiling in C++11 mode so you aren't picking up ::hypot from C99.