用pcl读ply文件_Python-pcl之 pcl/point_cloud.h: No such file

安装方式:

git clone https://github.com/strawlab/python-pcl.git
pip install --upgrade pip
pip install cython    # 有的是指定版本 cython==0.25.2
pip install numpy
cd python-pcl
sudo python setup.py build_ext -i
sudo python setup.py install

运行到 python setup.py build_ext -i  这行代码会报下面的错误,

报错及中间曲折解决过程:

报错如下:大体就是下面这个样子

pcl/boost_shared_ptr_assign.h:1:29: fatal error: pcl/point_cloud.h: No such file or directory
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

报错详细内容和网上解决方案看着这个链接,看了七八个都是一样的解决办法。

Build errors on Ubuntu 16.04 using PCL-1.8.0 stable version · Issue #97 · strawlab/python-pcl​github.com
c4d9d9403232b48cc8f505cac617f60c.png

这是英文的,你懒得看不看也行,一言以蔽之,解决方案就是:

cd到 /usr/local/lib/pkgconfig/ 这个文件夹,然后修改pcl_features-1.8.pc文件,把第10行的pcl_2d-1.8去掉。如果没权限操作,就 sudo chmod 777 一下

然而并没什么卵用,按照修改后还是报同样的错误,我找了一遍也没再找到别的pcl_features-1.8.pc这个文件,也不知道哪个函数用了pcl_2d-1.8,然后僵持了一天时间。

终极解决方案:

后面无意之中想到找一下 pcl_2d-1.8.pc 这个文件,然后在 python-pcl/travisCI中找到了,而且还有个文件 temporary solution.txt,瞬间看到曙光,里面内容是这样的

brew install pcl
Eversion 1.8.1 only
cp travis/pcl-2d-1.8.pc /usr/local/lib/pkgconfig

所以正好换个思路,既然找不到,那就把 pcl_2d-1.8.pc 复制到 /usr/local/lib/pkgconfig/ 就是了,于是解决办法就是下面这行命令

cd python-pcl/travisCI # 根据自己情况更改,进入到含 pcl_2d-1.8,pc的文件夹中
sudo cp pcl_2d-1.8.pc /usr/local/lib/pkgconfig/

然后继续前面的安装即可

附1:

如果前面你用 python setup.py build_ext -i 这行代码安装,那么可能会收到下面这个报错,如果有直接前面加 sudo 就行

pcl/_pcl_180.cpp:4:20: fatal error: Python.h: No such file or directory
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

附2:

这行代码 python setup.py install ,也有使用 python setup.py develop 的。如果有,可能会收到setup.py中关于 from distutils.core import setup 错误的代码

解决方法就是把python-pcl中setup.py中 from distutils.core import setup 代码替换为:

try:
    from setuptools import setup
except ImportError:
    from distutils.core import setup
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值