当前位置: 首页 > article >正文

使用cmake配置pcl环境

项目文件在https://pan.quark.cn/s/d347f72c7432

在这里插入图片描述
文件中包含CMakeLists.txt,一个pcd文件,一个cpp源文件。

这里的话,首先你需要下载好cmake软件,并将其添加到环境变量。


CMakeLists.txt文件内容如下

cmake_minimum_required(VERSION 3.5)
project(cloud_view_test)

add_executable(${PROJECT_NAME})
target_sources(${PROJECT_NAME}
    PRIVATE
        cloud_view_test.cpp
        )
find_package(PCL REQUIRED)
#include
target_include_directories(${PROJECT_NAME}
        PUBLIC
        ${PCL_INCLUDE_DIRS} )
#link
target_link_directories(${PROJECT_NAME}
    PUBLIC
        ${PCL_LIBRARY_DIRS}
        )
target_link_libraries(${PROJECT_NAME}
        ${PCL_LIBRARIES}
        )

cloud_view_test.cpp内容如下:这里只是简单的可视化了一下

#include<iostream>
#include<pcl/io/pcd_io.h>
#include<pcl/point_types.h>
#include<pcl/point_cloud.h>
#include <pcl/visualization/cloud_viewer.h>

int main()
{
	pcl::PointCloud<pcl::PointXYZRGB>::Ptr  cloud(new pcl::PointCloud<pcl::PointXYZRGB>);
	if (pcl::io::loadPCDFile<pcl::PointXYZRGB>("five_people.pcd", *cloud) == -1)
	{
		std::cout << "Cloud reading failed." << std::endl;
		return (-1);
	}

	pcl::visualization::CloudViewer viewer("Cloud Viewer");
	viewer.showCloud(cloud);
	while (!viewer.wasStopped())
	{
	}
	system("pause");
	return (0);
}

具体过程

使用cmake GUI工具

打开cmake GUI工具。

在这里插入图片描述
然后将放了以上三个文件的路径填写到右边第一行,注意斜杠与反斜杠的区别,也可以使用右边的按钮进行浏览路径。

然后右边的build路径,一般就是在你选中文件夹里面,加个/build

然后就可以点击configure按钮。

在这里插入图片描述

点击yes,同意创建build目录。

在这里插入图片描述
点击Finish

当出现Configure done后,点击Generate

在这里插入图片描述

出现Generating done (2.2s)后,就好了。

关闭cmake。

打开build目录下vcproj后缀的文件。

在这里插入图片描述
接下来需要选择启动项目,你可以如下图所示的操作,也可以删除其他两个项目。
在这里插入图片描述
然后点击应用和确定。

在这里插入图片描述
接下来就可以生成解决方案。
在这里插入图片描述

在这里插入图片描述
这样,你就编译成功了。

这时候,你如果直接运行,会导致文件查找失败。

在这里插入图片描述
一种方法就是你将cpp里面的文件路径,写成绝对路径。

另一种方式是将你的pcd文件,复制到你生成exe的路径下。

在这里插入图片描述
然后双击这个exe文件。

在这里插入图片描述


http://www.kler.cn/news/327980.html

相关文章:

  • 基于云开发进行快速搭建企业智能名片小程序
  • 考研数据结构——顺序表代码题
  • SQL进阶技巧:影院相邻的座位如何预定?
  • 计算机毕业设计Hadoop+Spark知识图谱体育赛事推荐系统 体育赛事热度预测系统 体育赛事数据分析 体育赛事可视化 体育赛事大数据 大数据毕设
  • B树简介:高效数据存储与检索的利器
  • RabbitMQ应用
  • @SpringBootTest 和 @Test的区别
  • 高效处理大规模数据:MATLAB实践指南
  • C#基于SkiaSharp实现印章管理(9)
  • 基于Spring Boot的校园管理系统
  • linux部署redis,整合ansible和redis
  • 如何在算家云搭建MVSEP-MDX23(音频分离)
  • 深度学习500问——Chapter17:模型压缩及移动端部署(2)
  • ubuntu安装ftp服务器
  • 前端Vue.js与后端Flask/Django协同开发指南
  • Java面试题真题·人才招聘系统项目介绍
  • 【Java 集合】List接口 —— ArrayList 与 LinkedList 详解
  • 针对考研的C语言学习(定制化快速掌握重点2)
  • 深度解析 HTTP
  • Linux集群部署RabbitMQ
  • 从Linux系统的角度看待文件-基础IO
  • Linux服务器配置anaconda3,下载torch
  • Brave编译指南2024 MacOS篇-拉取源码前的准备工作(二)
  • 鸿蒙开发(NEXT/API 12)【硬件(外设扩展驱动开发)】驱动开发服务
  • 【算法】模拟:(leetcode)6.Z 字形变换(medium)
  • 数据预处理:数据挖掘的第一步
  • 基于STM32的智能门禁系统
  • OpenCV视频I/O(6)检查视频捕获对象是否已成功打开的函数isOpened()的使用
  • uniapp 微信小程序 微信支付
  • 张量、框架