本文主要介绍PCL1.11.1的安装以及使其能在VS2019上运行。
https://github.com/PointCloudLibrary/pcl/releases/tag/pcl-1.11.1 下载以上两个文件即可。
使用exe安装库文件后,将zip文件解压到…/PCL1.11.1/bin下; OpenNI2默认安装在c盘,可以拷贝到…/PCL11.1/3rdParty/目录下
再VS中建立空项目后,点击项目属性进入以下界面: 选择包含目录,然后点击编辑,再将以上路径加入其中。
库目录配置如上。
配置链接器时: 使用dos命令可以获取库文件名: 进入DOS界面,按win+R后出现运行界面: 在输入cmd命令可进入: 进入后首先先进入安装PCL库的路径,然后再将.lib文件名输入到TXT文本中,复制到链接器的附加依赖项中。具体操作如下 //进入D盘(即PCL按照的盘符) C:>D: //进入VKT文件夹中的lib文件 C:>CD D:\PCL 1.11.1\3rdParty\VTK\lib //将路径下含.lib的文件名拷贝到1.txt中 D:\PCL 1.11.1\3rdParty\VTK\lib>dir /b *.lib >D:\PCL 1.11.1\3rdParty\VTK\lib\1.txt //进入lib文件夹中 D:\PCL 1.11.1\3rdParty\VTK\lib>CD D:\PCL 1.11.1\lib //将路径下含.lib的文件名拷贝到2.txt中 D:\PCL 1.11.1\lib>dir /b *.lib >D:\PCL 1.11.1\2.txt
然后拷贝出1.txt与2.txt文件夹中的内容到附加依赖项中即可。 VS环境配置完成后: 编译会报错,错误为getColor()函数不含形参,库文件bug,直接注释掉getColor()函数。这个bug是版本存在的bug,会在1.12中修改,可以直接注释掉。
最后运行测试代码时:报找不到XXXX.dll问题
其实是有这个DLL文件的,只是环境变量没有配置,在安装PCL库时有选项是自动添加环境变量,可以勾选,若没有勾选,可以将这个PCL安装的文件夹中搜索该DLL,然后把路径复制到系统环境变量的Path中,加入XXXX.dll文件路径后,重启电脑即可。
下附测试代码: #include<pcl/visualization/cloud_viewer.h> #include//标准C++库中的输入输出类相关头文件。 #include<pcl/io/io.h> #include<pcl/io/pcd_io.h>//pcd 读写类相关的头文件。 #include<pcl/io/ply_io.h> #include<pcl/point_types.h> //PCL中支持的点类型头文件。
int main() { pcl::PointCloudpcl::PointXYZ::Ptr cloud(new pcl::PointCloudpcl::PointXYZ); char strfilepath[256] = “rabbit.pcd”; if (-1 == pcl::io::loadPCDFile(strfilepath, *cloud)) //打开点云文件 { std::cout << “error input!” << std::endl; return -1; } std::cout << cloud->points.size() << std::endl; pcl::visualization::CloudViewer viewer(“Cloud Viewer”); //创建viewer对象 viewer.showCloud(cloud); system(“pause”); return 0; }