编译报错的提示,如下
In file included from /usr/include/x86_64-linux-gnu/bits/types/stack_t.h:23,
from /usr/include/signal.h:303,
from /usr/local/lib/python3.8/dist-packages/numpy/core/include/numpy/npy_interrupt.h:23,
from /usr/local/lib/python3.8/dist-packages/numpy/core/include/numpy/arrayobject.h:6,
from /home/XXX/Codes/ws/src/numpy_eigen/include/numpy_eigen/NumpyEigenConverter.hpp:28,
from /home/XXX/Codes/ws/src/numpy_eigen/src/autogen_module/numpy_eigen_export_module.cpp:2:
/home/XXX/catkin_ws/src/numpy_eigen/src/autogen_module/numpy_eigen_export_module.cpp: In function ‘void init_module_libnumpy_eigen()’:
/usr/local/lib/python3.8/dist-packages/numpy/core/include/numpy/__multiarray_api.h:1553:151: error: return-statement with a value, in function returning ‘void’ [-fpermissive]
1553 | #define import_array() {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import"); return NULL; } }
解决方法:
use _import_array() instead of import_array()
参考资料:https://github.com/ethz-asl/kalibr/issues/423