'::hypot' has not been declared

2019-02-17 06:31发布

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!

2条回答
Explosion°爆炸
2楼-- · 2019-02-17 06:43

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 !!

查看更多
可以哭但决不认输i
3楼-- · 2019-02-17 06:57

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.

查看更多
登录 后发表回答