ubuntu下如何使用Clion愉快的编写pcl

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吧。
在这里插入图片描述
这次分享就到这里了,感谢大家阅读。

<think>好的,我现在需要帮助用户解决在Ubuntu系统中使用CLion配置PCL的问题。首先,我得回忆一下自己之前配置PCL的经验,或者查找相关的步骤。记得PCLUbuntu中可以通过apt安装,但可能还需要一些依赖。 首先,用户提到的是使用CLion,这是一个基于CMake的IDE,所以配置过程应该和CMake有关。我需要确保用户已经安装了必要的PCL和相关依赖。通常,安装PCL的命令是sudo apt install libpcl-dev,但可能还需要其他组件,比如VTK、Eigen等。不过,libpcl-dev可能已经包含这些依赖了,不过最好还是确认一下。 接下来,用户使用CLion,所以需要配置CMakeLists.txt文件。正确的CMake配置是关键。我需要告诉用户如何在CMakeLists中添加find_package(PCL REQUIRED),然后包含头文件目录和链接。可能还需要设置C++标准,比如C++14或更高,因为PCL可能需要较新的标准。 另外,用户可能会遇到找不到PCL的问题,这时候需要检查PCL的安装路径是否正确,或者是否安装了正确的版本。可能还需要设置环境变量,但通常CMake的find_package可以自动处理这些。 还有,用户可能需要一个简单的测试代码来验证配置是否成功。比如,一个读取点云文件的程序。如果编译运行成功,说明配置正确。 可能的问题点:用户安装的PCL版本与系统不兼容,或者CLion的CMake生成器没有正确配置。此外,有时候需要手动指定PCL_DIR,比如在CMake中设置set(PCL_DIR "/usr/lib/x86_64-linux-gnu/cmake/pcl"),这可能因系统而异。 最后,用户可能需要处理依赖的路径,比如Boost、Eigen等,但PCL的CMake配置通常会自动处理这些。如果出现链接错误,可能需要明确链接这些。 总结步骤应该是:安装PCL,配置CMakeLists.txt,编写测试代码,处理可能的错误。需要以清晰的步骤呈现,并给出示例代码和CMake配置。</think>### CLion中配置PCL的完整步骤 1. **安装依赖** ```bash sudo apt update sudo apt install libpcl-dev pcl-tools libvtk7-dev libboost-all-dev ``` 这会安装PCL 1.9核心、可视化工具和VTK/Boost依赖[^1]。 2. **创建CMake项目** - 在CLion中新建C++17项目 - 修改CMakeLists.txt: ```cmake cmake_minimum_required(VERSION 3.20) project(pcl_demo) set(CMAKE_CXX_STANDARD 17) find_package(PCL 1.9 REQUIRED COMPONENTS common io visualization) include_directories(${PCL_INCLUDE_DIRS}) add_executable(pcl_demo main.cpp) target_link_libraries(pcl_demo ${PCL_LIBRARIES}) ``` 3. **验证配置** 创建测试代码`main.cpp`: ```cpp #include <pcl/point_cloud.h> #include <iostream> int main() { pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); cloud->width = 5; cloud->height = 1; cloud->points.resize(cloud->width * cloud->height); std::cout << "PCL version: " << PCL_VERSION_PRETTY << std::endl; return 0; } ``` 4. **常见问题处理** - 如果出现`undefined reference`错误,检查是否遗漏组件: ```cmake find_package(PCL REQUIRED COMPONENTS common io features) ``` - 手动指定PCL路径(当自动检测失败时): ```cmake set(PCL_DIR "/usr/lib/x86_64-linux-gnu/cmake/pcl") ``` ### 配置验证结果 成功运行将输出: ``` PCL version: 1.9.1 ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值