一、参考文章
先记个笔记,编译语句:
python setup.py build_ext --inplace
二、编译问题
1. 编译报错:cannot find -lxxx
.../navrep_py36/compiler_compat/ld: cannot find -lm
collect2: error: ld returned 1 exit status
error: command 'g++' failed with exit status 1
解决办法:
- 安装该链接库(注意把
lm
拓写成libm
):
pip install libm
或
conda install libm
- 已有该库但路径不对(本人用该方法成功)
sudo cp /usr/lib/x86_64-linux-gnu/libm.so /usr/lib/
2. 编译报错:No such file or directory: ‘xxx.so’
copying build/lib.linux-x86_64-2.7/Laser_2_Rings/crings.so -> Laser_2_Rings
error: [Errno 2] No such file or directory: 'Laser_2_Rings/crings.so'
解决办法:
删除文件夹下面的__init__.py
文件,就可以编译成功了。
3. 编译警告:#warning "Using deprecated NumPy API, disable it by " “#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION” [-Wcpp]
/usr/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
#warning "Using deprecated NumPy API, disable it by " \
^
解决办法:
参考:全网首发:warning: #warning “Using deprecated NumPy API, disable it by “ “#defining NPY_NO_DEPRECATED_API