Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
';使所有';使用OpenCV 4.2.0在Ubuntu20.04上为Python3安装Caffe时出错:/usr/bin/ld找不到lpython3.6m或lboost Python3_Python_Python 3.x_Linux_Opencv_Caffe - Fatal编程技术网

';使所有';使用OpenCV 4.2.0在Ubuntu20.04上为Python3安装Caffe时出错:/usr/bin/ld找不到lpython3.6m或lboost Python3

';使所有';使用OpenCV 4.2.0在Ubuntu20.04上为Python3安装Caffe时出错:/usr/bin/ld找不到lpython3.6m或lboost Python3,python,python-3.x,linux,opencv,caffe,Python,Python 3.x,Linux,Opencv,Caffe,我将按照本文安装caffe: 在运行makeall并已安装libboostall-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:5

我将按照本文安装caffe: 在运行
makeall
并已安装
libboostall-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

我有一种感觉,我可能需要为文件创建一个软链接到路径或附加到我的路径、库路径或LD_库路径,但我实际上无法找到libpython.so或libboost文件,所以我不确定该怎么做。

首先检查
python3
指向的
python
的确切版本,以及您是否有
python3.6m

python3 -V 

python3.6m -V
两者都应返回您的Python 3.6m,否则请查找已安装的Python的确切版本或要使用的Python版本,并相应地在中进行更改

找到libboost:

locate boost | fgrep .so
如果安装了
libboost-all-dev
,定位路径将是
/usr/lib/x86\u 64-linux-gnu/
/usr/lib64/
/usr/lib/
或类似的东西

然后根据您获得的路径(假设您获得了
/usr/lib/
),查找确切的libboost。因此:

ls /usr/lib/libboost_python*.so
如果返回列表包含
libboost\u python3.so
,请检查
LD\u LIBRARY\u PATH
是否包含指向该路径(例如,此处的路径为:
/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\u LIBRARY\u PATH
包含指向
的路径,那么
对于
libboost
,但名称不同,请说它是libboost\u python-py37.so,相应地在Makefile中更改

# say it's python3.7
PYTHON_LIBRARIES ?= boost_python-py37 python3.7
然后做:

make all

这就是解决方案,谢谢!我用的是python3.8而不是3.6。Makefile.config中还有两行代码可以更改为正确的python版本。
make all