在使用numpy标头的代码中,我收到以下错误:

In file included from 
/usr/include/python2.7/numpy/ndarrayobject.h:27:0,
             from /usr/include/python2.7/numpy/arrayobject.h:4,
             from ...:
...:
/usr/include/python2.7/numpy/__multiarray_api.h:1532:144: error: 
return-statement with no value, in function returning 'int' [-fpermissive]
#define import_array() {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import"); return NUMPY_IMPORT_ARRAY_RETVAL; } }

numpy标头中的相关代码段如下:

#if PY_VERSION_HEX >= 0x03000000
#define NUMPY_IMPORT_ARRAY_RETVAL NULL
#else
#define NUMPY_IMPORT_ARRAY_RETVAL
#endif

#define import_array() {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import"); return NUMPY_IMPORT_ARRAY_RETVAL; } }

这自然会导致我看到的编译错误,因为上面的 #else 情况返回一个void,然后由返回值为 int 的函数返回 . 我真的不明白这是故意还是应该报告的错误?

有关我的构建系统的更多信息:Linux版本4.15.0-39-generic(buildd @ lgw01-amd64-054)(gcc版本7.3.0(Ubuntu 7.3.0-16ubuntu3))#42-Ubuntu SMP Tue 10月23日15 :2018年2018年2018年