如何在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/
标签:cmake,pcl,read,PCL,test,Pcl,pcd,window10 来源: https://blog.csdn.net/qq_32230783/article/details/120280541