1. 下载:
https://github.com/PointCloudLibrary/pcl/releases
2. 安装:
2.1 双击安装
安装过程中,选择:
其他全默认,安装。中途可能弹出:
忽略。
2.2 安装完成之后打开文件夹 PCL 1.12.0\3rdParty\OpenNI2,双击OpenNI-Windows-x64-2.2 选择路径(PCL 1.11.0\3rdParty\OpenNI2)安装即可。
“对于一些电脑可能会出现安装OpenNI2时未弹出,默认安装在C盘的情况。此时需要到目标文件夹双击安装程序,先点击REMOVE,将原本安装到c盘的卸载掉,之后重新安装到目标文件夹下。”[1]
2.3 将pcl-1.12.0-rc1-pdb-msvc2019-win64.zip解压后的.pdb文件拷贝到(PCL 1.12.0\bin)中。
3. 配置环境变量:
右击此电脑—属性—高级系统设置—高级—环境变量—系统变量,如果没有,则手动添加该变量。而OPENNI2的变量已经添加好,没有的话也手动添加,如下:
点击Path—编辑,添加如下:
重启计算机
4. 新建项目测试:
打开VS2019,新建一个C++空项目
选择:
右键—属性:
4.1 配置管理器:
4.2 VC++目录—包含目录:
4.3 VC++目录—库目录:
4.4 链接器—输入—附加依赖项:
这是各种其他教程中一个比较坑的地方,你的代码中用哪个了lib你就写哪个lib,而且要与刚才安装的PCL库中各种lib文件夹中的lib文件名称对应上。不要一味的复制网上教程中的lib,因为教程中的PCL版本很可能与你刚安装的不一致,因而名称也不完全一致(比如pcl_common_debug.lib已经在1.12版本中变成了pcl_commond.lib),导致代码编译后出现各种LNK 1104错误。另外还要注意lib文件版本号也很可能与教程中的不一致。
4.5 C/C++—常规—SDL检查:否
如果没有C/C++这一项,则先添加一个.cpp源文件。
4.6 C/C++—预处理器—预处理器定义:
添加:
_SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING
_SCL_SECURE_NO_WARNINGS
_CRT_SECURE_NO_WARNINGS
4.7 一段简单的测试代码:
#include <iostream> #include <pcl/point_cloud.h> #include <pcl/io/pcd_io.h> #include <pcl/io/ply_io.h> int main() { // 加载点云 pcl::PointCloud<pcl::PointXYZRGB> sourceCloud; pcl::PLYReader reader; if (pcl::io::loadPLYFile("D:\\56_point_colud.ply", sourceCloud) == -1) { PCL_ERROR("Failed to load PLYFile!"); return -1; } return 0; }
用到的lib文件(4.4 链接器—输入—附加依赖项):
pcl_commond.lib
pcl_iod.lib
pcl_io_plyd.lib
参考:
[1] https://blog.csdn.net/qq_36686437/article/details/106347482
[2] https://blog.csdn.net/Joker_N/article/details/89370658