main.cpp
#include <iostream>
#include <pcl/io/io.h>
#include <pcl/io/pcd_io.h>
#include <pcl/visualization/cloud_viewer.h>
int main(int argc, char const *argv[])
{
pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZRGBA>);
// 加载pcd文件到cloud
pcl::io::loadPCDFile("/home/lgc/桌面/c++/pcl/pcl_logo.pcd",*cloud);
pcl::visualization::CloudViewer viewer("Cloud Viewer");
viewer.showCloud(cloud);
//循环判断是否退出
while(!viewer.wasStopped())
{
}
return 0;
}
CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
project(PCLDemo)
set(CMAKE_CXX_STANDARD 14)
# 设置输出目录为build/Debug
set(OUTPUT_DIRECTORY_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/build/${CMAKE_BUILD_TYPE})
# 设置可执行程序输出到build/Debug/bin目录
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${OUTPUT_DIRECTORY_ROOT}/bin" CACHE PATH "Runtime directory" FORCE)
# 设置库文件输出到build/Debug/lib目录
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${OUTPUT_DIRECTORY_ROOT}/bin" CACHE PATH "Library directory" FORCE)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${OUTPUT_DIRECTORY_ROOT}/bin" CACHE PATH "Archive directory" FORCE)
# PCLConfig.cmake所在的文件夹
set(PCL_DIR "/home/lgc/pcl1.9/share/pcl-1.9")
find_package(PCL REQUIRED)
# 包含头文件目录
include_directories(${PCL_INCLUDE_DIRS})
message(${PCL_INCLUDE_DIRS})
# 设置依赖库链接目录
link_directories(${PCL_LIBRARY_DIRS})
# 添加预处理器和编译器标记
add_definitions(${PCL_DEFINITIONS})
add_executable(PCLDemo main.cpp)
target_link_libraries(PCLDemo ${PCL_LIBRARIES})
注意设置PCL的路径:
# PCLConfig.cmake所在的文件夹
set(PCL_DIR "/home/lgc/pcl1.9/share/pcl-1.9")
编译PCL的步骤:
1、下载源码
git clone https://gitee.com/mirrors/pcl.git
2、创建release并进入release
cd pcl
git checkout pcl-1.9.1
mkdir release
cd release
3、配置cmake
cmake -DCMAKE_INSTALL_PREFIX=/home/lgc/pcl_1.9 ..
make -j8
make install
注意:
如果安装过ros,需要指定安装到其他地方,再使用时,也就要修改路径
默认安装路径:cmake -DCMAKE_INSTALL_PREFIX=/usr/local ..