[Bug集合]fatal error: pcl/visualization/pcl_visualizer.h: No such file or directory

时间:2024-04-03 13:01:58

找到这篇文章的你一定是看了SLAM14讲第五章来的,我解决这个问题大概用了三天。。

主流装PCL大概我总结了一下。可以看一下这里。

出现这个bug有两种可能。

1 .依赖缺少,在编译和安装时没有在urs/include/plcX.X目录下生成pcl_visualizer.h。

先去这个目录下看一下是否是这种情况,如果是,请按照我师哥的这篇文章重安装一边库和依赖,包括opencv和vtk。

之后重新解压你下载的PCL到一个新的文件夹,然后cmake走一走。

mkdir build  
cd build  
cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_GPU=ON -DBUILD_apps=ON -DBUILD_examples=ON  -DCMAKE_INSTALL_PREFIX=/usr ..  
make
sudo make install 

2.和我一样的奇特问题,原因大概是find函数不好使,所以我直接用绝对路径给出头文件,库文件地址。

cmake_minimum_required( VERSION 2.8 )
project( joinMap )

set( CMAKE_BUILD_TYPE Release )
set( CMAKE_CXX_FLAGS "-std=c++14 -O3" )

# opencv 
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )

# eigen 
include_directories( "/usr/include/eigen3/" )

# pcl 
find_package( PCL 1.9 REQUIRED COMPONENT common io )
include_directories( "/usr/include/pcl-1.9/" )
add_definitions( "/usr/share/pcl-1.9/" )
link_directories("/usr/lib/libpcl_common.so" "/usr/lib/libpcl_io.so")
list (REMOVE_ITEM PCL_LIBRARIES "vtkproj4")
add_executable( joinMap joinMap.cpp )
target_link_libraries( joinMap ${OpenCV_LIBS} ${PCL_LIBRARIES} )

效果如图,如果对你有用点个赞呗。

[Bug集合]fatal error: pcl/visualization/pcl_visualizer.h: No such file or directory