ubuntu下PCL和clion结合使用_ubuntu clion使用pcl库

本文介绍了如何在Ubuntu系统中下载并配置CLionIDE,重点讲解了如何设置CMakeLists.txt文件以链接PCL库,以及包含必要的头文件和编译指令,以实现C++程序的正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先在ubuntu商店下载clion应用程序,然后最关键的一布是配置CMakeists.txt文件,如下,代码注释很清楚,修改参数即可。

cmake_minimum_required(VERSION 2.8 FATAL_ERROR)        

project(cloud_viewer)                                 
if(NOT DEFINED CMAKE_SUPPRESS_DEVELOPER_WARNINGS)
	set(CMAKE_SUPPRESS_DEVELOPER_WARNINGS 1 CACHE INTERNAL "No dev warnings")
endif()                                  

find_package(PCL 1.2 REQUIRED)            
include_directories(/usr/include/pcl-1.10/pcl)     
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})

add_executable (untitled main.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()                                  

include_directories(/usr/include/pcl-1.10/pcl)     

测试代码:

cpp文件:

#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);
	for (size_t i = 0; i < cloud.points.size(); ++i)    
	{        
		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())    
	{    

	}
	return(0);
}

CMakeLists.cpp

cmake_minimum_required(VERSION 2.8 FATAL_ERROR)        
project(cloud_viewer)                                 
if(NOT DEFINED CMAKE_SUPPRESS_DEVELOPER_WARNINGS)
	set(CMAKE_SUPPRESS_DEVELOPER_WARNINGS 1 CACHE INTERNAL "No dev warnings")
endif()                                  

find_package(PCL 1.2 REQUIRED)            
include_directories(/usr/include/pcl-1.10/pcl)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable (untitled main.cpp)                
target_link_libraries (untitled ${PCL_LIBRARIES})    

输出结果:

注:

    一定要用自己的.cpp名称,我这里是main.cpp,在cmakelists.txt里换成你自己的项目名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值