在ubuntu20.04环境下使用PCL踩坑记录

上学期在虚拟机里面跑点云数据卡的不行,而且虚拟机里面ubuntu也识别不出来显卡。痛定思痛开学回来的时候买了块1t的硬盘,装了双系统。原来写的代码到了新的环境里运行不了,重新踩一边上学期的坑。干脆整篇文章记录以下。

安装ubuntu

这里我装的双系统而不是虚拟机。这个其实挺简单,没遇到坑,一步到位。
参考这篇文章

安装各种环境

anaconda
小坑:1.可能需要手动添加环境变量 2.可能会导致ubuntu打开终端时默认是base环境,如果需要可手动更改

pytorch
这个是我认为最难搞的一个,单单这一项一天都没搞定。
安装显卡驱动:这一步不难,可从官网下载或系统设置里更新驱动
安装cuda:这一步卡了一整天。官网上三种方式都尝试了,要么连不上网,要么提示tmp空间不足,要么提示显卡驱动已安装。整了一天之后我已经不知道我装了哪些没装那些,淘宝花了四十块钱远程安装pytorch,安装在了base环境
安装cudann
安装pytorch

pycharm
这个真的是无语,查了好多博客都推荐下载专业版,结果认证的时候要么给出的链接过期了,要么一个激活码只能用一个月下个月再来激活。由于我以前一直用的社区版,所以这里推荐下载社区版。
安装完之后把anaconda3 base环境中的python解释器设置为系统解释器,可以直接运行pytorch。

ros noetic
ros安装按理说十分简单,无论查博客还是去b站看古月居的视频都十分详细,但是有一个大坑:连不上网。
就是在最后一步rosdep update总是报错。看了别人的文章,修改判定时间、修改host、开热点等方法都试过,最后淘宝十块钱买了个镜像文件。最后以能运行小海龟为安装成功标志。

vscode
安装十分简单
难的是利用vscode调试ros项目
其中.vscode里面那几个json文件正确编写非常重要。
关键参数
使用C++14调试
(忘记了在哪篇文章里看的了,说ubuntu20.04自带的pcl版本为1.10需要用C++14调试)

其他软件:
microsoft-edge浏览器:之前的账号收藏夹都能同步
百度网盘:传文件必备
qq:linux版本的凑合着用吧。

pcl
前面环境安装好,跑之前的项目,果然跑不起来。
pcl相关的头文件全部搜索不到。
其实之前遇到过这个问题,年是想不起来当时怎么解决的了,这次参考这篇文章

头文件包含进去了之后,忘了编译指令。一直以为和ros有关。
反复建立了几次catkin_ws编译了几次,突然想起来,项目里好像根本没有用ros,只是上学期开始学pcl的时候在一本ros的书中的最后一章提了一下,后来换了参考书和ros没关系了。
回忆+查资料,运行需要编译和生成可执行文件。
在CMakeLists.txt所在的文件夹执行 camke. 和 make指令。
生成可执行文件后修改lunch.json文件中的programme的路径。

之后还是运行不了,总是报这个错:collect2: error: ld returned 1 exit status
排除了第一点,后面的全和头文件有关,就觉得肯能是因为之前修改了系统的包含库而产生了错误?
找了pcl教材的源码来尝试运行,诡异的事发生了。有的源码正常运行,有的就还会报这个错误。
经过排查,这个错误和这句代码有关:#include <boost/thread/thread.hpp>
注释掉相关功能,用别的方法实现,还是未能正常运行。心态近乎崩溃,报的错误忘了记录。
但是更诡异的是过一会能运行了,nnd。

先整理到这,遇到问题再更新。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值