PCL库安装:
最后更新:
在第n次装pcl之后,发现一个超简单的方法
PCL的安装,对于ubuntu16.04来说,用apt-get 足够。
sudo apt-get install libpcl-dev
sudo apt-get install pcl-tools
如果编译程序的时候遇到这个问题
warning: ISO C++11 requires whitespace after the macro name
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libproj.so', needed by 'pointcloud_mapping'. Stop.
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/pointcloud_mapping.dir/all' failed
这是/usr/lib/x86_64-linux-gnu/文件夹内没有这个libproj.so 库,先在该文件夹内搜索是否有同名不同版本的库,如果有 ,可以使用ln -s在该文件夹内部对存在的库链接到一个新建的名为libproj.so 库内,这样就可以使用了。
命令为:
sudo ln -s /usr/lib/x86_64-linux-gnu/libproj.so.9 /usr/lib/x86_64-linux-gnu/libproj.so
如果文件夹内部没有此库,需要终端敲sudo apt-get install libproj-dev
,安装即可
还可能会出现另一个问题,下边写了,这就不赘述了
以下是之前的方法
以下是十四讲里的方法:
sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
sudo apt-get update
sudo apt-get install libpcl-all
我执行第一行的时候就没成功,然后就去网上找了一下安装方法。
先安装各种依赖
sudo apt-get update
sudo apt-get install git build-essential linux-libc-dev
sudo apt-get install cmake cmake-gui
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common
sudo apt-get install libflann1.8 libflann-dev
sudo apt-get install libeigen3-dev
sudo apt-get install libboost-all-dev
其他依赖
sudo apt-get install libqhull* libgtest-dev
sudo apt-get install freeglut3-dev pkg-config
sudo apt-get install libxmu-dev libxi-dev
sudo apt-get install mono-complete
sudo apt-get install libopenni-dev
sudo apt-get install libopenni2-dev
原网址中还有第二步,安装vtk库
sudo apt-get install libpcl-all
然后测试了十四讲里的代码
mkdir build
cd build
cmake ..
make
此时出现了以下错误:
/usr/bin/ld: cannot find -lvtkproj4
collect2: error: ld returned 1 exit status
CMakeFiles/joinMap.dir/build.make:350: recipe for target ‘joinMap’ failed
make[2]: [joinMap] Error 1
解决办法:
在CMakeList.txt文件里target_link_libraries前面加入:
list(REMOVE_ITEM PCL_LIBRARIES “vtkproj4”)
make成功后:
cd ..
./build/joinMap
这是因为要回到含pose.txt
路径上运行,运行完后会出现 map.pcd
pcl_viewer map.pcd
结果: