win10+vs2019+pcl1.11.0安装教程
看pointnet论文的时候发现有点云的可视化,但里面的可视化好像是基于CAD做的,正好最近我在用c++处理一些点云数据,就想着怎么直接把点云显示出来,就找到了PCL库,与opencv类似,opencv是处理图像的库,pcl是处理点云的库,封装了很多实用的函数,以下是基于win10+vs2019环境下pcl环境的搭建。
pcl库的下载与安装
下载
我下载的vs版本是vs2019,pcl下载的当前最新的版本pcl1.11.0,正好与vs2019对应。
pcl链接: pcl-1.11.0.
下载两个文件:
PCL-1.11.0-AllInOne-msvc2019-win64.exe
pcl-1.11.0-pdb-msvc2019-win64.zip
安装
双击“PCL-1.9.0-AllInOne-msvc2017-win64.exe”进行安装,点击下一步,出现下图界面时,选择“Add PCL to the system PATH for all users”,自动把路径添加到系统环境变量中。
选择安装路径的时候默认C盘,我改到了D盘,其他的默认就行了。
安装到最后的时候会弹出安装OpenNI的提示,此时也会选择安装路径,默认是C盘。但此前安装已经在pcl的安装目录下的3rdParty文件夹中已经有了空的OpenNI2文件夹,建议将OpenNI安装路径改到此文件夹下,即安装路径为“D:\programming\PCL 1.11.0\3rdParty\OpenNI2”
解压“pcl-1.11.0-pdb-msvc2019-win64.zip”,将解压得到的文件夹中的内容添加“…\PCL 1.11.0\bin”中。
pcl库安装完成,接下来配置环境变量,在系统环境变量中,由于勾选了自动添加路径,可以看到以下两个路径已经添加了进来:
D:\programming\PCL 1.11.0\bin
D:\programming\PCL 1.11.0\3rdParty\VTK\bin
我又手动添加了一个:
D:\programming\PCL 1.11.0\3rdParty\OpenNI2\Redist
否则后面可能会报错“由于找不到OpenNI2.dll,无法继续执行代码。重新安装程序可能会解决此问题”。
配置完环境变量后,重启电脑即可生效。
vs2019中配置pcl1.11.0
在VS中新建一个空项目,编译环境改为X64,Release版本。
视图->其他窗口->属性管理器
vc++目录->包含目录 中添加以下7个目录:
直接复制时请注意版本和路径以及名称,建议手动添加
D:\programming\PCL 1.11.0\include\pcl-1.11
D:\programming\PCL 1.11.0\3rdParty\Boost\include\boost-1_73
D:\programming\PCL 1.11.0\3rdParty\Eigen\eigen3
D:\programming\PCL 1.11.0\3rdParty\FLANN\include
D:\programming\PCL 1.11.0\3rdParty\Qhull\include
D:\programming\PCL 1.11.0\3rdParty\VTK\include\vtk-8.2
D:\programming\PCL 1.11.0\3rdParty\OpenNI2\Include
vc++目录->库目录 中添加以下6个目录:
直接复制时请注意版本和路径以及名称,建议手动添加
D:\programming\PCL 1.11.0\lib
D:\programming\PCL 1.11.0\3rdParty\Boost\lib
D:\programming\PCL 1.11.0\3rdParty\FLANN\lib
D:\programming\PCL 1.11.0\3rdParty\Qhull\lib
D:\programming\PCL 1.11.0\3rdParty\VTK\lib
D:\programming\PCL 1.11.0\3rdParty\OpenNI2\Lib
C/C++—>预处理器—>预处理器定义
BOOST_USE_WINDOWS_H
NOMINMAX
_CRT_SECURE_NO_DEPRECATE
C/C++ ->所有选项->SDL检查 改为否。
上面这个是在属性页里改的,最好在项目属性里,也把SDL检查改为“否”,不加下面这一步有的时候会报错。
项目->属性->C/C++ ->所有选项->SDL检查
链接器—>输入—>附加的依赖项
将PCL 1.11.0\3rdParty\VTK\lib和PCL 1.11.0\lib这两个文件夹下的lib文件的release版本添加到附加依赖项中
为了方便,通过批处理把文件夹中的文件名写入到一个txt中:
//win+r调出“运行”窗口并输出cmd
//(填自己的路径)
cd /d D:\programming\PCL 1.11.0\lib
dir /b *.lib *>0.txt
注意,这个0.txt中会把0.txt和一个pkgconfig文件夹也写进去,复制到附加依赖项之前,应该把这两个删掉,否则会报错
现在该txt中包含了release和debug两种版本的库,如下图,需要将release版本单独分离出来,对于相同功能的库,两个版本是挨着的,可以用程序把他们分别写到两个txt中。
分离程序:https://blog.csdn.net/weixin_41991128/article/details/83965051
使用程序分离后的release版本:将该txt内容复制到vs的附加依赖项中
使用程序分离后的debug版本,暂不使用。
//win+r调出“运行”窗口并输出cmd
//(填自己的路径)
cd /d D:\programming\PCL 1.11.0\3rdParty\VTK\lib
dir /b *.lib *>1.txt
同上,把1.txt和cmake删掉。
同上,该txt中也包含了release和debug两种版本的库,如下图,需要将release版本单独分离出来,对于相同功能的库,两个版本是挨着的,可以用程序把他们分别写到两个txt中。
分离程序:https://blog.csdn.net/weixin_41991128/article/details/83965051
使用程序分离后的release版本:将该txt内容复制到vs的附加依赖项中
使用程序分离后的debug版本,暂不使用。
配置完成。
测试pcl库是否安装成功
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
int main (int argc, char** argv)
{ pcl::PointCloud<pcl::PointXYZ> cloud; // Fill in the cloud data cloud.width = 5; cloud.height = 1; cloud.is_dense = false; cloud.points.resize (cloud.width * cloud.height); for (std::size_t i = 0; i < cloud.points.size (); ++i) { cloud.points[i].x = 1024 * rand () / (RAND_MAX + 1.0f); cloud.points[i].y = 1024 * rand () / (RAND_MAX + 1.0f); cloud.points[i].z = 1024 * rand () / (RAND_MAX + 1.0f);} pcl::io::savePCDFileASCII ("test_pcd.pcd", cloud); std::cerr << "Saved " << cloud.points.size () << " data points to test_pcd.pcd." << std::endl; for (std::size_t i = 0; i < cloud.points.size (); ++i) std::cerr << " " << cloud.points[i].x << " " << cloud.points[i].y << " " << cloud.points[i].z << std::endl; return (0);
}
输出下图(数字可能不同),则表示安装成功!
win10+vs2019+pcl1.11.0安装教程相关推荐
- 来自GPU的Hello World-基于Win10+VS2019+CUDA 11.0搭建CUDA编程环境
序 CPU和GPU 当代计算机的两个核心,GPU计算与CPU计算的结合,使得原本的计算性能得到大幅度的提高,两者功能的互补性使得CPU+GPU的异构并行计算得到快速发展.为了支持使用CPU+GPU ...
- 【opencv安装和配置完整版教程】(win10+vs2019+opencv4.4.0+opencv_contrib-4.4.0+永久配置)
[opencv安装和配置](win10+vs2019+opencv4.4.0+opencv_contrib-4.4.0+永久配置) 下载vs2019 opencv4.4.0.opencv_contri ...
- Visual C++6.0安装教程(win10版)及“应用程序无法正常启动(0x0150002)”解决办法
Visual C++6.0安装教程(win10版)及"应用程序无法正常启动(0x0150002)"解决办法
- 神舟K550D三系统(win10、OSX、Ubuntu)安装教程
神舟K550D三系统(win10.OSX.Ubuntu)安装教程 特别感谢:耐寒桃,本教程完全是借鉴他在贴吧里发的帖子的安装步骤,不过是由我总结并且实践之后,整理发到了知乎,我也是觉得这个教程非常的有 ...
- zabbix6.0安装教程(一):安装要求获取方式
zabbix6.0安装教程(一):安装要求&获取方式 目录 一.zabbix6.0安装要求 1.硬件 1.1 内存和磁盘 1.2CPU 1.3其它硬件 1.4硬件资源配置参考 1.5受支持的平 ...
- 华为鸿蒙2.0系统电脑安装步骤,华为鸿蒙系统2.0怎么安装,鸿蒙系统2.0安装教程...
华为鸿蒙系统2.0另有许多玩家都在询问,那么最新的安装教程是什么,同时若何获取资格,下面一起来看看详细的攻略内容. 华为鸿蒙系统2.0安装教程 点此进入申请华为鸿蒙2.0<<< 华为 ...
- 华为鸿蒙系统操作教程_华为鸿蒙系统2.0怎么安装 鸿蒙系统2.0安装教程[多图]
华为鸿蒙系统2.0还有很多玩家都在询问,那么最新的安装教程是什么,同时如何获取资格,下面一起来看看具体的攻略内容. 华为鸿蒙系统2.0安装教程 华为正式发布了鸿蒙OS 2.0 手机版,目前仍旧处于测试 ...
- 晨枫U盘维护工具V2.0 安装教程
晨枫U盘维护工具V2.0 安装教程 -- 珠海晨枫工作室 文 档 目 录 关于晨枫工作室 维护工具说明 启动盘介绍 软件界面预览 设置USB启动 声明与致谢 制作教程:HDD模式 | ZIP模式 | ...
- KeyShot Pro 9 v9.0 安装教程(含下载文件)
KeyShot Pro 9 v9.0安装教程 安装包下载: 链接:https://pan.baidu.com/s/1de3LeCF3NJEEoMGZzyDmBg 提取码:n3ra 安装步骤: 1.解压 ...
最新文章
- jQuery |淡入淡出
- 此内容过于真实,引起强烈舒适
- React的生命周期(旧)
- 容器编排技术 -- Kubernetes Volume
- mysql插10万条数据_如何快速安全的插入千万条数据?
- 使用什么优化器_新的深度学习优化器Ranger:RAdam + LookAhead强强结合
- 解决eclipse模块导入后不识别为java项目
- NPAPI插件开发学习:NPAPI和NPRuntime的介绍
- mybatis中查询时间段内的数据(当只有一个时间字段时)
- 【图像去噪】基于matlab中值滤波图像去噪【含Matlab源码 421期】
- javascript 代码段整理
- 国外一些DICOM资源下载网址
- 1、曾经风光无限的jsp,为什么现在很少有人使用了?
- 电子技术基础(三)__第5章 之逻辑函数的卡诺图化简方法
- numpy.angle角度制的取值
- 苹果电脑系统更新中断怎么办_苹果发布健身公告中断按需锻炼空间
- 编译原理逆波兰式实验java_【实验三】—— 逆波兰式生成实验报告
- 《SolidWorks 2014中文版机械设计从入门到精通》——2.3 草图编辑
- 【安全头条】美国政府起诉 Kochava 出售敏感的地理位置数据
- JAVA星期健身计划:If语句和Switch语句