1.Clion安装
自行百度吧。
注意
clion与搜狗输入法冲突,一运行clion就卡死,卸载搜狗吧,装别的输入法,我用的谷歌pinyin。
2.Clion配置
想要舒舒服服的写代码当然要配置好自己手中的兵器。
首先配置中文环境:
在设置–plugins中搜索chinese插件并添加重启
另外还要解决clion中输出中文乱码的问题:
都设置成utf-8格式,特别注意编译器右下角也选择utf-8,我使用GBK仍然乱码,解决不了。
2.配置pcl的cmakelist
在clion自动生成的cmakelist文件中,才能够有代码提示以及编译,添加以下代码:
cmake_minimum_required(VERSION 3.1)
project(pcl)
set(CMAKE_CXX_STANDARD 14)
find_package(PCL 1.5 REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable (cloudViewer 点云可视化.cpp) #这里需要自己改对应的名称
target_link_libraries (cloudViewer ${PCL_LIBRARIES})
3.运行PCL测试
随便弄一个点云可视化的代码:
注意clion中读取文件需要绝对路径,或者使用…/文件名的方法,不然读取不到报错。
#include <iostream>
#include <boost/thread/thread.hpp>
#include <pcl/common/common_headers.h>
#include <pcl/features/normal_3d.h>
#include <pcl/io/pcd_io.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/point_types.h>
using namespace std;
//typedef pcl::PointXYZRGBA PointType;
typedef pcl::PointXYZ PointType;
boost::shared_ptr<pcl::visualization::PCLVisualizer> simpleVis(pcl::PointCloud<PointType >::ConstPtr cloud)
{
boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(new pcl::visualization::PCLVisualizer("3D Viewer"));
viewer->setBackgroundColor(0, 0, 0);
viewer->addPointCloud<PointType>(cloud, "sample cloud");
//viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, "sample cloud");
viewer->addCoordinateSystem(1.0);
viewer->initCameraParameters();
return (viewer);
}
int
main()
{
pcl::PointCloud<PointType>::Ptr cloud(new pcl::PointCloud<PointType>);
pcl::io::loadPCDFile("../table_scene_lms400.pcd", *cloud);
cout << "点云数: " <<cloud->points.size()<< endl;
boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer;
viewer = simpleVis(cloud);
while (!viewer->wasStopped())
{
viewer->spinOnce(100);
boost::this_thread::sleep(boost::posix_time::microseconds(100000));
}
return 0;
}
输出结果:
比使用VS快多了,推荐大家转站ubuntu吧。
这次分享就到这里了,感谢大家阅读。