两个方法,分别转载自https://blog.csdn.net/danmeng8068/article/details/77341532
和 https://haoyu.love/blog371.html
#第一个方法
Ubuntu16.04安装pcl,方法是直接执行
sudo apt-get install libpcl-dev pcl-tools
运行测试程序时出现以下错误
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libproj.so', needed by 'joinMap'. Stop. CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/joinMap.dir/all' failed
make[1]: *** [CMakeFiles/joinMap.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
*** Failure: Exit code 2 ***
解决方法,执行
sudo apt-get install libproj-dev
再次编译出现以下错误
-- Build files have been written to: /home/wd/code/slambook-master/ch5/joinMap/build
[ 50%] Linking CXX executable joinMap
/usr/bin/ld: cannot find -lvtkproj4
collect2: error: ld returned 1 exit status
CMakeFiles/joinMap.dir/build.make:349: recipe for target 'joinMap' failed
make[2]: *** [joinMap] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/joinMap.dir/all' failed
make[1]: *** [CMakeFiles/joinMap.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
*** Failure: Exit code 2 ***
解决方法,需要在cmakelist中加一条指令修复,即在add_executable语句前面加上list(REMOVE_ITEM PCL_LIBRARIES "vtkproj4")
***
####肥肠可惜,这个方法不适用于我
于是找到了第二篇blog(见上方)
终于解决。
总结:不贴Cmakelists不贴代码,通解也不一定适合你!