如何在window10使用cmake运行Pcl案例代码

其实在pcl官网的教程已经很详细了,只是有一些细节部分可能让小白蒙圈。毕竟我也是学测绘的。对于这些东西我以前也没接触过,在师兄的帮助下,学习起来避免了很多坑。下面正式开始了,主要分三部分

- 复制代码
首先去下面这个网站,找到这个案例,点进去,复制cpp的代码
https://pcl.readthedocs.io/projects/tutorials/en/latest/index.html
在这里插入图片描述

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

int
main (int argc, char** argv)
{
  pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);

  if (pcl::io::loadPCDFile<pcl::PointXYZ> ("test_pcd.pcd", *cloud) == -1) //* load the file
  {
    PCL_ERROR ("Couldn't read file test_pcd.pcd \n");
    return (-1);
  }
  std::cout << "Loaded "
            << cloud->width * cloud->height
            << " data points from test_pcd.pcd with the following fields: "
            << std::endl;
  for (const auto& point: *cloud)
    std::cout << "    " << point.x
              << " "    << point.y
              << " "    << point.z << std::endl;

  return (0);
}

新建一个cpp文件,把代码复制进去
在这里插入图片描述

- 再新建一个txt文件,名字改成:CMakeLists.txt
复制下面的内容进去:

cmake_minimum_required(VERSION 2.8 FATAL_ERROR)

project(pcd_read)

find_package(PCL 1.2 REQUIRED)

include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})

add_executable (pcd_read pcd_read.cpp)
target_link_libraries (pcd_read ${PCL_LIBRARIES})

- 第三步就是打开cmake开始编译

  • 第一行写cpp的路径
  • 第二行写你需要生成工程文件的路径。一般单独建立一个build或者bin文件夹存放。
    在这里插入图片描述
    然后点击configure,第一次生成项目会弹出来,软件版本选择x64,下面默认finish就行。
    在这里插入图片描述
    在这里插入图片描述
    如果configure之后,没有问题,下面框框显示configuring done。继续generate。

在这里插入图片描述
最后显示这个就可以,open project 了
在这里插入图片描述
打开项目之后,需要点击项目名称那个设置为启动程序,不要选All build
在这里插入图片描述
然后咋release x64环境生成运行就可以了
结果是这样:
在这里插入图片描述
ps:
1、cmake软件configure的时候,可能会报错,不要怕。看看错误的提示,一般是三个原因:

  • cpp文件的名字和Cmakelixt.txt里面的名字没对应好,注意大小写
  • 电脑pcl的环境没有配置好,这个可以参考别的帖子。
  • cmake清理一下缓存,File——delete cache

2、编译之后vs打开项目,不需要再配项目的环境,很方便,所以强烈推荐学一下camke。、
3、另外注意这行代码:

if (pcl::io::loadPCDFile<pcl::PointXYZ>("test_pcd.pcd", *cloud) == -1)//*打开点云文件,只有5个点
	{
		PCL_ERROR("Couldn't read file test_pcd.pcd\n");
		return(-1);
	}

test_pcd.pcd这个数据是需要放到build路径下面,也可以使用绝对路径。后续帖子还有用随机数生成点云数据的。可以看看后面的帖子。
4、 - 另外在推荐一些下载点云数据的一些网站,方便大家学习参考

  • http://graphics.stanford.edu/data/3Dscanrep/
  • https://www.cc.gatech.edu/projects/large_models/
  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值