编译PCL时遇到CMake Error at /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:45 (message):common is required but boost was not found解决办法
昨天修改代码,编译的时候遇到/usr/bin/ld: 找不到 -lopencv_xphoto/usr/lib/x86_64-linux-gnu/libboost_system.so collect2: error: ld returned 1 exit status pl2vi-sam/cmakefiles/lvi_sam_point_line.dir/build.make:999: recipe for target ‘/home/cyx/study/pl2vi-sam/devel/lib/lvi_sam/lvi_sam_point_line’ failed make[2]: *** [/home/cyx/study/pl2vi-sam/devel/lib/lvi_sam/lvi_sam_point_line] error 1 cmakefiles/makefile2:562: recipe for target ‘pl2vi-sam/cmakefiles/lvi_sam_point_line.dir/all’ failed
网上大部分的解决办法是建立libboost_system.so的软链接,后面发现还有错,于是就放弃没再管。今天突然发现编译PCL库出问题了,问题描述如下:
CMake Error at /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:45 (message):
common is required but boost was not found
Call Stack (most recent call first):
/usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:498 (pcl_report_not_found)
/usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:654 (find_external_library)
LVI-SAM-master/CMakeLists.txt:37 (find_package)
这是我之前软链接时不小心删除了libboost_system.so导致的,因此,只能在CMakeLists.txt文件中加上这一句话:
set(Boost_LIBRARY_DIR /usr/lib/x86_64-linux-gnu/)
然后删除build和devel文件夹,重新编译就没问题了。不过这样的话每次都要加这两句,如果有其他解决办法欢迎在下方留言。感谢!