不得不说ORB-SLAM2依赖库实在是太多了,库和库之间很容易冲突,这不,源码编译安装了boost1.54,然后在编译PCL1.8的时候报错了:
CMake Error: Boost not Found(common is required but boost was not found)
我搜了不少答案,其实就是解决如何让Cmake找到Boost库的问题。
几个不错的有参考性的答案如下:
一.升级boost
升级Cmake和Boost解决cmake-error-boost-not-found
二.修改CmakeList.txt
我的CMakelists.txt关于Boost的部分如下:
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON)
ADD_DEFINITIONS(-DBoost_USE_STATIC_LIBS=ON)
set(Boost_INCLUDE_DIR /usr/include/)
set(Boost_LIBRARY_DIR /usr/lib/x86_64-linux-gnu/)
find_package(Boost REQUIRED)
其实我也是修改了
set(Boost_LIBRARY_DIR /usr/lib/x86_64-linux-gnu/)
这行才把问题解决的,这里需要
apt-get install libboost-all-dev
安装libboost库后,再
locate so.1.54
把这个目录设为Boost_LIBRARY_DIR
,因为上面命令默认安装libboost1.54版本,所以
locate so.1.54
就能找到boost库.so文件的所在位置。