一、配置PCL参考的链接
VisualStudio2019 配置点云库 PCL1.11.1+斯坦福兔子测试_不会代码的Andy的博客-CSDN博客_斯坦福兔子pcd
Win10 系统下 VisualStudio2019 配置点云库 PCL1.11.1_点云侠的博客-CSDN博客
系统为Win10,安装的是PCL1.12.0,参考的是PCL1.11.1
二、相关报错
1、LNK110 无法打开文件”pcl_commond.lib”
确保文件属性中路径与文件名均已输入并且环境变量中的系统变量也添加了相关路径。
2、LNK110 无法打开文件“.obj”
pcl的lib库数量众多,在复制过程中出现了如下情况,两个lib库被认为是一个库,没有分开。
// 错误
flann_cpp - gd.libflann_cpp_s - gd.lib
// 正确
flann_cpp - gd.lib
flann_cpp_s - gd.lib
查找完毕确保不会出现类似情况后依然报相同的错误,这次是lib库的命名问题,可能是复制过程导致的问题,导致横线两侧有空格,如下所示,删除空格。
// 错误
flann_cpp - gd.lib
// 正确
flann_cpp-gd.lib
删除空格后依然出现此错误,将依赖库内容全部复制之后粘贴到新建txt文件,发现两个依赖库之间均有空行,将空行删除,在lib后面加英文输入法下的分号,复制粘贴值依赖库目录。
三、代码验证:
#include<iostream>
//#include<pcl/io/io.h>
#include<pcl/io/pcd_io.h>
//#include<pcl/io/ply_io.h>
#include<pcl/visualization/cloud_viewer.h>
int user_data;
using std::cout;
void viewerOneOff(pcl::visualization::PCLVisualizer& viewer) {
viewer.setBackgroundColor(1.0, 0.5, 1.0); //设置背景颜色
}
int main() {
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
char strfilepath[256] = "rabbit.pcd";
if (-1 == pcl::io::loadPCDFile(strfilepath, *cloud)) {
cout << "error input!" << endl;
return -1;
}
cout << cloud->points.size() << endl;
pcl::visualization::CloudViewer viewer("Cloud Viewer"); //创建viewer对象
viewer.showCloud(cloud);
viewer.runOnVisualizationThreadOnce(viewerOneOff);
system("pause");
return 0;
}
兔子模型
下载
,提取码为:3t25
将兔子模型放置于.sln同级目录下,如下图:
运行程序,结果如下图: