首先在ubuntu商店下载clion应用程序,然后最关键的一布是配置CMakeists.txt文件,如下,代码注释很清楚,修改参数即可。
cmake_minimum_required(VERSION 2.8 FATAL_ERROR) //cmake最低版本要求
project(cloud_viewer) //项目名称
if(NOT DEFINED CMAKE_SUPPRESS_DEVELOPER_WARNINGS)
set(CMAKE_SUPPRESS_DEVELOPER_WARNINGS 1 CACHE INTERNAL "No dev warnings")
endif() //if这一段必须加,不加容易报错,在外网找到的解决方案,有效。
find_package(PCL 1.2 REQUIRED) //pcl安装包对pcl版本最低要求
include_directories(/usr/include/pcl-1.10/pcl) //这里是你安装pcl的文件夹
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable (untitled main.cpp) //你的文件名.cpp
target_link_libraries (untitled ${PCL_LIBRARIES}) //链接器
最关键的是这两段代码,加上就可以运行正常。
if(NOT DEFINED CMAKE_SUPPRESS_DEVELOPER_WARNINGS)
set(CMAKE_SUPPRESS_DEVELOPER_WARNINGS 1 CACHE INTERNAL "No dev warnings")
endif() //if这一段必须加,不加容易报错,在外网找到的解决方案,有效。
include_directories(/usr/include/pcl-1.10/pcl) //这里是你安装pcl的文件夹
测试代码:
cpp文件:
/*
by : 手口一斤
date : 2020-12-16
*/
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <boost/thread/thread.hpp>
int
genwrite()
{
pcl::PointCloud<pcl::PointXYZ> cloud;
// 创建点云
cloud.width = 10000;
cloud.height = 1;
cloud.is_dense = false;
cloud.points.resize(cloud.width * cloud.height);
//cout<<cloud.points.size()<<endl;
for (size_t i = 0; i < cloud.points.size(); ++i)
{
// 坐标范围在[0,1024),正方体内随机取点
cloud.points[i].x = 1024 * rand() / (RAND_MAX + 1.0f);
cloud.points[i].y = 1024 * rand() / (RAND_MAX + 1.0f);
cloud.points[i].z = 1024 * rand() / (RAND_MAX + 1.0f);
}
pcl::io::savePCDFileASCII("selfgen.pcd", cloud);
return(0);
}
int
main(int argc, char** argv)
{
genwrite();
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
if (pcl::io::loadPCDFile<pcl::PointXYZ>("selfgen.pcd", *cloud) == -1)//*打开点云文件
{
PCL_ERROR("Couldn't read file test_pcd.pcd\n");
return(-1);
}
pcl::visualization::CloudViewer viewer("simple cloud viewer");
viewer.showCloud(cloud);
while (!viewer.wasStopped())
{
// todo::
}
return(0);
}
CMakeLists.cpp
cmake_minimum_required(VERSION 2.8 FATAL_ERROR) //cmake最低版本要求
project(cloud_viewer) //项目名称
if(NOT DEFINED CMAKE_SUPPRESS_DEVELOPER_WARNINGS)
set(CMAKE_SUPPRESS_DEVELOPER_WARNINGS 1 CACHE INTERNAL "No dev warnings")
endif() //if这一段必须加,不加容易报错,在外网找到的解决方案,有效。
find_package(PCL 1.2 REQUIRED) //pcl安装包对pcl版本最低要求
include_directories(/usr/include/pcl-1.10/pcl) //这里是你安装pcl的文件夹
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable (untitled main.cpp) //你的文件名.cpp
target_link_libraries (untitled ${PCL_LIBRARIES}) //链接器
输出结果:
注:
一定要用自己的.cpp名称,我这里是main.cpp,在cmakelists.txt里换成你自己的项目名。