我下面这篇文章来安装朱古力:https://qengineering.eu/install-caffe-on-ubuntu-18.04-with-opencv-4.2.html运行后出现此错误make all
与libboost-all-dev
和libpython3
已安装。
LD -o .build_release/lib/libcaffe.so.1.0.0
/usr/bin/ld: cannot find -lboost_python3
/usr/bin/ld: cannot find -lpython3.6m
collect2: error: ld returned 1 exit status
make: *** [Makefile:596: .build_release/lib/libcaffe.so.1.0.0] Error 1
我有一种感觉,我可能需要为这些文件创建一个软链接,或者将其附加到我的PATH,LIBRARY_PATH或LD_LIBRARY_PATH中,但实际上无法找到libpython.so或libboost文件,因此我无法找到确定该怎么做。
首先检查的准确版本python
是python3
指向你是否也有python3.6m
python3 -V
python3.6m -V
两者都应返回您Python 3.6m
,否则找出已安装的python的确切版本或您要使用的python版本,并在Makefile中进行相应更改。
# say it's python3.7
PYTHON_LIBRARIES ?= boost_python3 python3.7
找到libboost:
locate boost | fgrep .so
如果libboost-all-dev
已安装,则定位的路径将是/usr/lib/x86_64-linux-gnu/
or /usr/lib64/
或/usr/lib/
or /usr/local/lib/
或类似的东西。
然后根据您得到的路径(例如您得到/usr/lib/
),查找确切的libboost.so:
ls /usr/lib/libboost_python*.so
如果返回列表包括libboost_python3.so
,请检查是否LD_LIBRARY_PATH
包括该路径(此处为ex:的路径/usr/lib
),否则执行以下操作:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/libboost/
您可以将其添加到您的~/.bashrc
:
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/libboost/' >> ~/.bashrc
如果LD_LIBRARY_PATH
包含.so
for的路径libboost
,但名称不同,则说它是libboost_python-py37.so,因此在Makefile中进行更改。
# say it's python3.7
PYTHON_LIBRARIES ?= boost_python-py37 python3.7
然后做:
make all
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句