【オリジナル】cmath:157:11:error:'::hypot'has not been declared
1577 ワード
:
pyconfig header file , “cmath:1157:11: error: '::hypot' has not been declared”。
:hypot
あるセグメントコードによって_hypot,
cmath呼び出しhypot
。
に名前が変更された :
1、ソースコード修正(まあ、よく問題があってうまく解決できないので、他人のソースコードしか作れない)
ソースコードの導入順序を変更し、include「math.h」の導入をinclude「Python」の前に、hypotの名前が変更される前にcmathにhypotを呼び出すようにします.
具体的な方法は次のとおりです.
方法1、Pythonを修正する.hのソースコードは、その先頭にmathを加える.hの導入、修正結果は以下の通り
#ifndef Py_PYTHON_H
#define Py_PYTHON_H
/* Since this is a "meta-include" file, no #ifdef __cplusplus / extern "C" { */
/* Include nearly all Python header files */
#include "math.h"
方法2、include“math.h”とinclude“Python”の導入順序を入れ替える.
2、自分のmathを作る.h(他人のソースコードをできるだけ修正しないように、ソースコードをコピーして自分で使う)
3、コンパイルオプションにD_を追加するhypot=hypot(後にlimingaoyuブログで知りましたが、本人は確認していません)
詳しくはhttps://blog.csdn.net/limingaoyu/article/details/101424262
4、cmathヘッダに#define_を追加するhypot hypot(後にgdtop 818ブログで知りましたが、本人は確認していません)
このエラーはcmath:1096:11:error:'::hypot'has not been declaredであり、本明細書の問題とは異なり、通じるかどうかは不明である.
詳しくはhttps://blog.csdn.net/weixin_37993251/article/details/88054384