win11下配置visual studio 2022+PCL1.13.1

第一部分:visual studio2022 安装

vs官网网址如下:https://visualstudio.microsoft.com/zh-hans/vs/

第一步:我们打开官网链接,按如下操作点击下载免费版本的exe文件

第二步:打开下载目录下的安装文件进行安装,安装步骤如下:

按流程安装完成后创建桌面快捷方式

选择完成会弹出快捷方式文件,直接拷贝此文件然后复制粘贴桌面即可

第三步:创建新项目

双击快捷方式,打开vs界面,按下面操作进行

按照要求位置填写项目名称及挂载位置

打开项目后右边会有一个解决方案资源管理器,在此处的源文件下右键点击并选择:添加——模块——C++文件(.cpp)

设置完文件名和位置后点击添加,完成项目创建

第二部分:安装配置PCL

由于我们安装的是vs2022版本,此处在网站上选择vs2022对应的pcl版本【旧版本可以下拉页面选择】

安装网址:https://github.com/PointCloudLibrary/pcl/releases

第一步:此处选择前两个文件点击安装:

1、点击下载对应的AllInOne的exe文件:PCL-1.13.1-AllInOne-msvc2022-win64.exe

2、点击下载对应的pdb文件:pcl-1.13.1-pdb-msvc2022-win64.zip

下载完成后点击下载文件的文件夹,选择刚刚下载的.exe后缀文件,按下面步骤进行安装

点击安装,安装期间会弹出确认安装文件框,点击安装就可以

安装完成PCL后,我们还需要确认一下C:\Program Files路径下有没有OpenNI2文件夹,如果没有的话按照下面方法进行安装,如果有的话建议删除重装OpenNI2,实测没有重装后续会出问题,没重装的朋友也记得后期配置环境变量的时候自行更改环境变量的路径

第二步:卸载重装OpenNI2

【此处引用其他博客内容,图片可能会有些奇怪,大家按正常理解进行操作就行,也可以打开此博客查看(14条消息) Windows11+VS2022+PCL1.13.0 安装配置记录_WoooChi的博客-CSDN博客】

下面进行OpenNI2卸载操作

下面是OpenNI2安装操作

安装完成,安装路径下就会有如下内容,并且原来的OpenNI2文件已删除

第三步:安装pcl-1.13.1-pdb-msvc2022-win64.zip

到下载目录下,将我们下载的第二个文件:pcl-1.13.0-pdb-msvc2022-win64.zip打开,这里边有很多.pdb文件,全选复制所有文件

打开下载的PCL文件目录C:\Program Files\PCL 1.13.0\bin,将全部文件粘贴进去,完成安装

第四步:配置PCL环境变量

配置步骤如下

我的环境配置如下:【大家可根据自己下载路径更改】

OPENNI2_INCLUDE64 C:\Program Files\PCL 1.13.1\3rdParty\OpenNI2\Include\OPENNI2_LIB64 C:\Program Files\PCL 1.13.1\3rdParty\OpenNI2\Lib\OPENNI2_REDIST64 C:\Program Files\PCL 1.13.1\3rdParty\OpenNI2\Redist\PCL_ROOT C:\Program Files\PCL 1.13.1

确认此处无误后按如下操作

添加内容如下:

%PCL_ROOT%\bin%PCL_ROOT%\3rdParty\VTK\bin%PCL_ROOT%\3rdParty\FLANN\bin%PCL_ROOT%\3rdParty\Qhull\bin%PCL_ROOT%\3rdParty\OpenNI2\Tools%OPENNI2_REDIST64%%OPENNI2_LIB64%%OPENNI2_INCLUDE64%

添加完点击确定完成系统环境变量配置

第三部分:在vs里面设置PCL环境变量

第一步:打开vs2022并创建一个新项目【前面有了】

第二步:打开属性管理器

【可以在最上面的那行菜单栏里面找到视图——打开视图下的属性管理器】

出现下面窗口,右键点击Debug|x64【由于我是Debug的需求,且电脑是x64】

按下面操作:

加入内容

C:\Program Files\PCL 1.13.1\3rdParty\Boost\include\boost-1_80C:\Program Files\PCL 1.13.1\3rdParty\Eigen\eigen3C:\Program Files\PCL 1.13.1\3rdParty\FLANN\includeC:\Program Files\PCL 1.13.1\3rdParty\Qhull\includeC:\Program Files\PCL 1.13.1\3rdParty\VTK\include\vtk-9.2C:\Program Files\PCL 1.13.1\include\pcl-1.13C:\Program Files\PCL 1.13.1\3rdParty\OpenNI2\Include # OpenNI2安装地址可以自行更改

加入内容:

C:\Program Files\PCL 1.13.1\3rdParty\Boost\libC:\Program Files\PCL 1.13.1\libC:\Program Files\PCL 1.13.1\3rdParty\FLANN\libC:\Program Files\PCL 1.13.1\3rdParty\Qhull\libC:\Program Files\PCL 1.13.1\3rdParty\VTK\libC:\Program Files\PCL 1.13.1\3rdParty\OpenNI2\Lib

加入内容如下

_DEBUG;_CONSOLE;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;

这里加入一个博主获取PCL和VTK的lib文件的代码,这些文件大家可以用这份代码获取,获取完全部集合在一起然后放到指定路径下就行

【链接:(14条消息) Windows11+VS2022+PCL1.13.0 安装配置记录_WoooChi的博客-CSDN博客】

import osdef Extract_lib(path):release = open("release_lib.txt", 'w')debug = open("debug_lib.txt", 'w')for file in os.listdir(path):if file[-5:] == 'd.lib':debug.write(file)debug.write('\n')elif file[-4:] == '.lib':release.write(file)release.write('\n')debug.close()release.close()if __name__ == '__main__':path = r"D:\Program Files (x86)\OPenCV\x64\vc16\lib"Extract_lib(path)

lib文件名放置位置在这里

我的文件集合如下:【Denug版本】

pcl_commond.libpcl_featuresd.libpcl_filtersd.libpcl_iod.libpcl_io_plyd.libpcl_kdtreed.libpcl_keypointsd.libpcl_mld.libpcl_octreed.libpcl_outofcored.libpcl_peopled.libpcl_recognitiond.libpcl_registrationd.libpcl_sample_consensusd.libpcl_searchd.libpcl_segmentationd.libpcl_stereod.libpcl_surfaced.libpcl_trackingd.libpcl_visualizationd.liblibboost_atomic-vc143-mt-gd-x64-1_80.liblibboost_bzip2-vc143-mt-gd-x64-1_80.liblibboost_chrono-vc143-mt-gd-x64-1_80.liblibboost_container-vc143-mt-gd-x64-1_80.liblibboost_context-vc143-mt-gd-x64-1_80.liblibboost_contract-vc143-mt-gd-x64-1_80.liblibboost_coroutine-vc143-mt-gd-x64-1_80.liblibboost_date_time-vc143-mt-gd-x64-1_80.liblibboost_exception-vc143-mt-gd-x64-1_80.liblibboost_fiber-vc143-mt-gd-x64-1_80.liblibboost_filesystem-vc143-mt-gd-x64-1_80.liblibboost_graph-vc143-mt-gd-x64-1_80.liblibboost_graph_parallel-vc143-mt-gd-x64-1_80.liblibboost_iostreams-vc143-mt-gd-x64-1_80.liblibboost_json-vc143-mt-gd-x64-1_80.liblibboost_locale-vc143-mt-gd-x64-1_80.liblibboost_log-vc143-mt-gd-x64-1_80.liblibboost_log_setup-vc143-mt-gd-x64-1_80.liblibboost_math_c99-vc143-mt-gd-x64-1_80.liblibboost_math_c99f-vc143-mt-gd-x64-1_80.liblibboost_math_c99l-vc143-mt-gd-x64-1_80.liblibboost_math_tr1-vc143-mt-gd-x64-1_80.liblibboost_math_tr1f-vc143-mt-gd-x64-1_80.liblibboost_math_tr1l-vc143-mt-gd-x64-1_80.liblibboost_mpi-vc143-mt-gd-x64-1_80.liblibboost_nowide-vc143-mt-gd-x64-1_80.liblibboost_numpy310-vc143-mt-gd-x64-1_80.liblibboost_prg_exec_monitor-vc143-mt-gd-x64-1_80.liblibboost_program_options-vc143-mt-gd-x64-1_80.liblibboost_python310-vc143-mt-gd-x64-1_80.liblibboost_random-vc143-mt-gd-x64-1_80.liblibboost_regex-vc143-mt-gd-x64-1_80.liblibboost_serialization-vc143-mt-gd-x64-1_80.liblibboost_stacktrace_noop-vc143-mt-gd-x64-1_80.liblibboost_stacktrace_windbg-vc143-mt-gd-x64-1_80.liblibboost_stacktrace_windbg_cached-vc143-mt-gd-x64-1_80.liblibboost_system-vc143-mt-gd-x64-1_80.liblibboost_test_exec_monitor-vc143-mt-gd-x64-1_80.liblibboost_thread-vc143-mt-gd-x64-1_80.liblibboost_timer-vc143-mt-gd-x64-1_80.liblibboost_type_erasure-vc143-mt-gd-x64-1_80.liblibboost_unit_test_framework-vc143-mt-gd-x64-1_80.liblibboost_wave-vc143-mt-gd-x64-1_80.liblibboost_wserialization-vc143-mt-gd-x64-1_80.liblibboost_zlib-vc143-mt-gd-x64-1_80.libflann-gd.libflann_cpp-gd.libflann_cpp_s-gd.libflann_s-gd.libqhullcpp_d.libqhullstatic_d.libqhullstatic_rd.libqhull_rd.libvtkcgns-9.2-gd.libvtkChartsCore-9.2-gd.libvtkCommonColor-9.2-gd.libvtkCommonComputationalGeometry-9.2-gd.libvtkCommonCore-9.2-gd.libvtkCommonDataModel-9.2-gd.libvtkCommonExecutionModel-9.2-gd.libvtkCommonMath-9.2-gd.libvtkCommonMisc-9.2-gd.libvtkCommonSystem-9.2-gd.libvtkCommonTransforms-9.2-gd.libvtkDICOMParser-9.2-gd.libvtkDomainsChemistry-9.2-gd.libvtkDomainsChemistryOpenGL2-9.2-gd.libvtkdoubleconversion-9.2-gd.libvtkexodusII-9.2-gd.libvtkexpat-9.2-gd.libvtkFiltersAMR-9.2-gd.libvtkFiltersCore-9.2-gd.libvtkFiltersExtraction-9.2-gd.libvtkFiltersFlowPaths-9.2-gd.libvtkFiltersGeneral-9.2-gd.libvtkFiltersGeneric-9.2-gd.libvtkFiltersGeometry-9.2-gd.libvtkFiltersHybrid-9.2-gd.libvtkFiltersHyperTree-9.2-gd.libvtkFiltersImaging-9.2-gd.libvtkFiltersModeling-9.2-gd.libvtkFiltersParallel-9.2-gd.libvtkFiltersParallelImaging-9.2-gd.libvtkFiltersPoints-9.2-gd.libvtkFiltersProgrammable-9.2-gd.libvtkFiltersSelection-9.2-gd.libvtkFiltersSMP-9.2-gd.libvtkFiltersSources-9.2-gd.libvtkFiltersStatistics-9.2-gd.libvtkFiltersTexture-9.2-gd.libvtkFiltersTopology-9.2-gd.libvtkFiltersVerdict-9.2-gd.libvtkfmt-9.2-gd.libvtkfreetype-9.2-gd.libvtkGeovisCore-9.2-gd.libvtkgl2ps-9.2-gd.libvtkglew-9.2-gd.libvtkhdf5-9.2-gd.libvtkhdf5_hl-9.2-gd.libvtkImagingColor-9.2-gd.libvtkImagingCore-9.2-gd.libvtkImagingFourier-9.2-gd.libvtkImagingGeneral-9.2-gd.libvtkImagingHybrid-9.2-gd.libvtkImagingMath-9.2-gd.libvtkImagingMorphological-9.2-gd.libvtkImagingSources-9.2-gd.libvtkImagingStatistics-9.2-gd.libvtkImagingStencil-9.2-gd.libvtkInfovisCore-9.2-gd.libvtkInfovisLayout-9.2-gd.libvtkInteractionImage-9.2-gd.libvtkInteractionStyle-9.2-gd.libvtkInteractionWidgets-9.2-gd.libvtkIOAMR-9.2-gd.libvtkIOAsynchronous-9.2-gd.libvtkIOCesium3DTiles-9.2-gd.libvtkIOCGNSReader-9.2-gd.libvtkIOChemistry-9.2-gd.libvtkIOCityGML-9.2-gd.libvtkIOCONVERGECFD-9.2-gd.libvtkIOCore-9.2-gd.libvtkIOEnSight-9.2-gd.libvtkIOExodus-9.2-gd.libvtkIOExport-9.2-gd.libvtkIOExportGL2PS-9.2-gd.libvtkIOExportPDF-9.2-gd.libvtkIOGeometry-9.2-gd.libvtkIOHDF-9.2-gd.libvtkIOImage-9.2-gd.libvtkIOImport-9.2-gd.libvtkIOInfovis-9.2-gd.libvtkIOIOSS-9.2-gd.libvtkIOLegacy-9.2-gd.libvtkIOLSDyna-9.2-gd.libvtkIOMINC-9.2-gd.libvtkIOMotionFX-9.2-gd.libvtkIOMovie-9.2-gd.libvtkIONetCDF-9.2-gd.libvtkIOOggTheora-9.2-gd.libvtkIOParallel-9.2-gd.libvtkIOParallelXML-9.2-gd.libvtkIOPLY-9.2-gd.libvtkIOSegY-9.2-gd.libvtkIOSQL-9.2-gd.libvtkioss-9.2-gd.libvtkIOTecplotTable-9.2-gd.libvtkIOVeraOut-9.2-gd.libvtkIOVideo-9.2-gd.libvtkIOXML-9.2-gd.libvtkIOXMLParser-9.2-gd.libvtkjpeg-9.2-gd.libvtkjsoncpp-9.2-gd.libvtkkissfft-9.2-gd.libvtklibharu-9.2-gd.libvtklibproj-9.2-gd.libvtklibxml2-9.2-gd.libvtkloguru-9.2-gd.libvtklz4-9.2-gd.libvtklzma-9.2-gd.libvtkmetaio-9.2-gd.libvtknetcdf-9.2-gd.libvtkogg-9.2-gd.libvtkParallelCore-9.2-gd.libvtkParallelDIY-9.2-gd.libvtkpng-9.2-gd.libvtkpugixml-9.2-gd.libvtkRenderingAnnotation-9.2-gd.libvtkRenderingContext2D-9.2-gd.libvtkRenderingContextOpenGL2-9.2-gd.libvtkRenderingCore-9.2-gd.libvtkRenderingFreeType-9.2-gd.libvtkRenderingGL2PSOpenGL2-9.2-gd.libvtkRenderingHyperTreeGrid-9.2-gd.libvtkRenderingImage-9.2-gd.libvtkRenderingLabel-9.2-gd.libvtkRenderingLICOpenGL2-9.2-gd.libvtkRenderingLOD-9.2-gd.libvtkRenderingOpenGL2-9.2-gd.libvtkRenderingSceneGraph-9.2-gd.libvtkRenderingUI-9.2-gd.libvtkRenderingVolume-9.2-gd.libvtkRenderingVolumeOpenGL2-9.2-gd.libvtkRenderingVtkJS-9.2-gd.libvtksqlite-9.2-gd.libvtksys-9.2-gd.libvtkTestingRendering-9.2-gd.libvtktheora-9.2-gd.libvtktiff-9.2-gd.libvtkverdict-9.2-gd.libvtkViewsContext2D-9.2-gd.libvtkViewsCore-9.2-gd.libvtkViewsInfovis-9.2-gd.libvtkWrappingTools-9.2-gd.libvtkzlib-9.2-gd.libOpenNI2.lib

确定完成后右键点击项目文件,进入属性页面,进行下面操作

添加内容如下

PATH=C:\Program Files\PCL 1.13.1\bin;C:\Program Files\PCL 1.13.1\3rdParty\FLANN\bin;C:\Program Files\PCL 1.13.1\3rdParty\VTK\bin;C:\Program Files\PCL 1.13.1\3rdParty\Qhull\bin;C:\Program Files\PCL 1.13.1\3rdParty\OpenNI2\Tools;

至此,完成全部安装配置,大家关闭项目,重启下电脑就可以用PCL进行编程啦!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/239218.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL 多字段条件查询

SQL 多字段条件查询 一个数据库表,几十个字段,查找任意字段里包含北京的记录,在 mysql 里这句 sql 应该是这样: SELECT * FROM table WHERE concat(field1,field2,field3……fieldn) like ‘% 北京 %’ 反正是少不了将几十个字…

【论文笔记】3D Gaussian Splatting for Real-Time Radiance Field Rendering

原文链接:https://arxiv.org/abs/2308.04079 1. 引言 网孔和点是最常见的3D场景表达,因其是显式的且适合基于GPU/CUDA的快速栅格化。神经辐射场(NeRF)则建立连续的场景表达便于优化,但渲染时的随机采样耗时且引入噪声…

Win11安装ise14.7~不需要虚拟机了~

之前一直无法在win11上安装ise14.7,网上搜索也无果,所有一直vmware虚拟机使用。直到最近看了水木上jesce的回复,试了下果然可以直接安装使用的。 步骤如下即可: 安装时切勿勾选最后一项,Enable WebTalk to send softwa…

Python (十五)pandas(三)

程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》&…

【vtkWidgetRepresentation】第十六期 vtkContourRepresentation(三)

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享vtkContourLineInterpolator接口的源码剖析和实例应用,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 目录 前言 …

Collecting package metadata (current_repodata.json): failed(解决方案)

如果有重装过anaconda,在C盘的用户目录下,会有一个名叫.condarc的文件会自动生成。 当使用conda install和conda create命令会出现下面的问题:Collecting package metadata (current_repodata.json): failed 解决方案: 1.打开Anac…

深圳鼎信|配电网故障定位与预警装置_高效_快速

电能是我们生活和生产的一种主要能源。在电能供应过程中,配电网是电网的末端环节,但在能源转型的背景下,配电网逐渐成为电网发展的前沿阵地,将来也会越来越重要。 我国疆土辽阔,不同地区配电网的结构各具特色。总的来说…

openGauss学习笔记-169 openGauss 数据库运维-备份与恢复-导入数据-更新表中数据-使用DML命令更新表

文章目录 openGauss学习笔记-169 openGauss 数据库运维-备份与恢复-导入数据-更新表中数据-使用DML命令更新表169.1 操作步骤 openGauss学习笔记-169 openGauss 数据库运维-备份与恢复-导入数据-更新表中数据-使用DML命令更新表 openGauss支持标准的数据库操作语言&#xff08…

我的应用我做主:扩展线程池

自定义线程创建:ThreadFactory 线程池中的线程是从哪里来的呢? ThreadPoolExecutor(int corePoolSize,//指定了线程池种的线程数量 int maximumPoolSize,//指定了线程池中的最大线程数量。 long keepAliveTime,// 当线程池数量超过了corePoolSize&#x…

信息收集 - 谷歌hack

搜索引擎 FOFA网络空间测绘:https://fofa.info/ FOFA(FOcus on Assets)是一个网络空间搜索引擎,可以帮助用户快速定位和收集特定目标的信息。 ZoomEye:https://www.zoomeye.org ZoomEye 是一个网络空间搜索引擎,可以用于发现和收集特定目标的网络设备、Web应用程序、开放…

【JAVA面试题】基本类型的强制类型转换是否会丢失精度?引用类型的强制类型转换需要注意什么?

🍎个人博客:个人主页 🏆个人专栏: JAVA ⛳️ 功不唐捐,玉汝于成 目录 前言 思路 1、继承关系 2、运行时类型检查 结语 我的其他博客 前言 在Java编程中,强制类型转换是一个常见的操作&#xf…

操作系统 day15(信号量)

信号量机制 之前学习了这些解决进程互斥的方案 *但它们都无法实现“让权等待”,于是Dijkstra提出了一种卓有成效的实现进程互斥、同步的方法----信号量机制 总结:一个信号量对应一种资源。信号量的值这种资源的剩余数量(信号量的值如果小于…

网络编程day2作业

TCP通信模型 TCP服务器端 #include<myhead.h>#define PORT 8888 #define IP "192.168.125.130"int main(int argc, const char *argv[]) {//创建文件描述符int sfd -1;if((sfd socket(AF_INET,SOCK_STREAM,0)) -1){perror("socket error");retu…

php伪协议 [SWPUCTF 2021 新生赛]PseudoProtocols

根据题目提示 我们直接用伪协议读取hint.php即可 php://filter/readconvert.base64-encode/resourcehint.php 我们把得到的编码拿去base64解密一下得到 那我们直接去访问一下 也可以用伪协议继续读取&#xff0c;只不过最后要base64解密一下 php://filter/readconvert.base6…

模拟电路基础知识经典 200问,收藏这些就够了!

大家总说模电知识总是学不会&#xff0c;IC修真院为大家整理了模电经典200问&#xff0c;看看你掌握了多少&#xff0c;文末可以获取全部哦。 文末可领全部文档 1、半导体材料制作电子器件与传统的真空电子器件相比有什么特点? 答&#xff1a;频率特性好、体积小、功耗小&…

Python并行编程详解:发挥多核优势的艺术

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 在当今计算机时代&#xff0c;充分发挥多核处理器的性能是提高程序运行效率的关键。Python作为一门强大的编程语言&#xff0c;提供了多种并行编程工具和库。本文将深入介绍Python中的并行编程&#xff0c;探讨如…

基于第五代英特尔® 至强® 可扩展处理器的 ZStack Cube 超融合一体机

“在数字化转型的驱动下&#xff0c;超融合一体机的工作负载正在日趋复杂化&#xff0c;深度学习推理等新型工作负载的运行需求在不断增长。第五代英特尔 至强 可扩展处理器通过内核性能的提升&#xff0c;以及英特尔 AMX 等加速器的采用&#xff0c;帮助我们成功提升了超融合云…

C# 跨越配置

跨越配置1 项目框架 .NET Framework 1.web.config配置 在system.webServer节点中添httpProtocol子节点 Access-Control-Allow-Origin值为“*”” <httpProtocol><customHeaders><add name"Access-Control-Allow-Origin" value"*" /><…

鸿蒙ArkTS语言介绍与TS基础语法

1、ArkTS介绍 ArkTS是HarmonyOS主力应用开发语言&#xff0c;它在TS基础上&#xff0c;匹配ArkUI框架&#xff0c;扩展了声明式UI、状态管理等响应的能力&#xff0c;让开发者以更简洁、更自然的方式开发跨端应用。 JS 是一种属于网络的高级脚本语言&#xff0c;已经被广泛用…

Python: 函数参数是值传递还是引用传递

是引用传递。 Python的设计哲学是一切皆对象&#xff0c;不仅体现在内置数据类型、数据结构是对象&#xff0c;还包括Python编译运行需要的一些设施&#xff0c;比如stackframe、traceback等等。所以&#xff0c;为了更方便的传递数据&#xff0c;cpython内部全部采用指针传递…