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_80

C:\Program Files\PCL 1.13.1\3rdParty\Eigen\eigen3

C:\Program Files\PCL 1.13.1\3rdParty\FLANN\include

C:\Program Files\PCL 1.13.1\3rdParty\Qhull\include

C:\Program Files\PCL 1.13.1\3rdParty\VTK\include\vtk-9.2

C:\Program Files\PCL 1.13.1\include\pcl-1.13

C:\Program Files\PCL 1.13.1\3rdParty\OpenNI2\Include # OpenNI2安装地址可以自行更改

加入内容:

C:\Program Files\PCL 1.13.1\3rdParty\Boost\lib

C:\Program Files\PCL 1.13.1\lib

C:\Program Files\PCL 1.13.1\3rdParty\FLANN\lib

C:\Program Files\PCL 1.13.1\3rdParty\Qhull\lib

C:\Program Files\PCL 1.13.1\3rdParty\VTK\lib

C:\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 os

def 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.lib

pcl_featuresd.lib

pcl_filtersd.lib

pcl_iod.lib

pcl_io_plyd.lib

pcl_kdtreed.lib

pcl_keypointsd.lib

pcl_mld.lib

pcl_octreed.lib

pcl_outofcored.lib

pcl_peopled.lib

pcl_recognitiond.lib

pcl_registrationd.lib

pcl_sample_consensusd.lib

pcl_searchd.lib

pcl_segmentationd.lib

pcl_stereod.lib

pcl_surfaced.lib

pcl_trackingd.lib

pcl_visualizationd.lib

libboost_atomic-vc143-mt-gd-x64-1_80.lib

libboost_bzip2-vc143-mt-gd-x64-1_80.lib

libboost_chrono-vc143-mt-gd-x64-1_80.lib

libboost_container-vc143-mt-gd-x64-1_80.lib

libboost_context-vc143-mt-gd-x64-1_80.lib

libboost_contract-vc143-mt-gd-x64-1_80.lib

libboost_coroutine-vc143-mt-gd-x64-1_80.lib

libboost_date_time-vc143-mt-gd-x64-1_80.lib

libboost_exception-vc143-mt-gd-x64-1_80.lib

libboost_fiber-vc143-mt-gd-x64-1_80.lib

libboost_filesystem-vc143-mt-gd-x64-1_80.lib

libboost_graph-vc143-mt-gd-x64-1_80.lib

libboost_graph_parallel-vc143-mt-gd-x64-1_80.lib

libboost_iostreams-vc143-mt-gd-x64-1_80.lib

libboost_json-vc143-mt-gd-x64-1_80.lib

libboost_locale-vc143-mt-gd-x64-1_80.lib

libboost_log-vc143-mt-gd-x64-1_80.lib

libboost_log_setup-vc143-mt-gd-x64-1_80.lib

libboost_math_c99-vc143-mt-gd-x64-1_80.lib

libboost_math_c99f-vc143-mt-gd-x64-1_80.lib

libboost_math_c99l-vc143-mt-gd-x64-1_80.lib

libboost_math_tr1-vc143-mt-gd-x64-1_80.lib

libboost_math_tr1f-vc143-mt-gd-x64-1_80.lib

libboost_math_tr1l-vc143-mt-gd-x64-1_80.lib

libboost_mpi-vc143-mt-gd-x64-1_80.lib

libboost_nowide-vc143-mt-gd-x64-1_80.lib

libboost_numpy310-vc143-mt-gd-x64-1_80.lib

libboost_prg_exec_monitor-vc143-mt-gd-x64-1_80.lib

libboost_program_options-vc143-mt-gd-x64-1_80.lib

libboost_python310-vc143-mt-gd-x64-1_80.lib

libboost_random-vc143-mt-gd-x64-1_80.lib

libboost_regex-vc143-mt-gd-x64-1_80.lib

libboost_serialization-vc143-mt-gd-x64-1_80.lib

libboost_stacktrace_noop-vc143-mt-gd-x64-1_80.lib

libboost_stacktrace_windbg-vc143-mt-gd-x64-1_80.lib

libboost_stacktrace_windbg_cached-vc143-mt-gd-x64-1_80.lib

libboost_system-vc143-mt-gd-x64-1_80.lib

libboost_test_exec_monitor-vc143-mt-gd-x64-1_80.lib

libboost_thread-vc143-mt-gd-x64-1_80.lib

libboost_timer-vc143-mt-gd-x64-1_80.lib

libboost_type_erasure-vc143-mt-gd-x64-1_80.lib

libboost_unit_test_framework-vc143-mt-gd-x64-1_80.lib

libboost_wave-vc143-mt-gd-x64-1_80.lib

libboost_wserialization-vc143-mt-gd-x64-1_80.lib

libboost_zlib-vc143-mt-gd-x64-1_80.lib

flann-gd.lib

flann_cpp-gd.lib

flann_cpp_s-gd.lib

flann_s-gd.lib

qhullcpp_d.lib

qhullstatic_d.lib

qhullstatic_rd.lib

qhull_rd.lib

vtkcgns-9.2-gd.lib

vtkChartsCore-9.2-gd.lib

vtkCommonColor-9.2-gd.lib

vtkCommonComputationalGeometry-9.2-gd.lib

vtkCommonCore-9.2-gd.lib

vtkCommonDataModel-9.2-gd.lib

vtkCommonExecutionModel-9.2-gd.lib

vtkCommonMath-9.2-gd.lib

vtkCommonMisc-9.2-gd.lib

vtkCommonSystem-9.2-gd.lib

vtkCommonTransforms-9.2-gd.lib

vtkDICOMParser-9.2-gd.lib

vtkDomainsChemistry-9.2-gd.lib

vtkDomainsChemistryOpenGL2-9.2-gd.lib

vtkdoubleconversion-9.2-gd.lib

vtkexodusII-9.2-gd.lib

vtkexpat-9.2-gd.lib

vtkFiltersAMR-9.2-gd.lib

vtkFiltersCore-9.2-gd.lib

vtkFiltersExtraction-9.2-gd.lib

vtkFiltersFlowPaths-9.2-gd.lib

vtkFiltersGeneral-9.2-gd.lib

vtkFiltersGeneric-9.2-gd.lib

vtkFiltersGeometry-9.2-gd.lib

vtkFiltersHybrid-9.2-gd.lib

vtkFiltersHyperTree-9.2-gd.lib

vtkFiltersImaging-9.2-gd.lib

vtkFiltersModeling-9.2-gd.lib

vtkFiltersParallel-9.2-gd.lib

vtkFiltersParallelImaging-9.2-gd.lib

vtkFiltersPoints-9.2-gd.lib

vtkFiltersProgrammable-9.2-gd.lib

vtkFiltersSelection-9.2-gd.lib

vtkFiltersSMP-9.2-gd.lib

vtkFiltersSources-9.2-gd.lib

vtkFiltersStatistics-9.2-gd.lib

vtkFiltersTexture-9.2-gd.lib

vtkFiltersTopology-9.2-gd.lib

vtkFiltersVerdict-9.2-gd.lib

vtkfmt-9.2-gd.lib

vtkfreetype-9.2-gd.lib

vtkGeovisCore-9.2-gd.lib

vtkgl2ps-9.2-gd.lib

vtkglew-9.2-gd.lib

vtkhdf5-9.2-gd.lib

vtkhdf5_hl-9.2-gd.lib

vtkImagingColor-9.2-gd.lib

vtkImagingCore-9.2-gd.lib

vtkImagingFourier-9.2-gd.lib

vtkImagingGeneral-9.2-gd.lib

vtkImagingHybrid-9.2-gd.lib

vtkImagingMath-9.2-gd.lib

vtkImagingMorphological-9.2-gd.lib

vtkImagingSources-9.2-gd.lib

vtkImagingStatistics-9.2-gd.lib

vtkImagingStencil-9.2-gd.lib

vtkInfovisCore-9.2-gd.lib

vtkInfovisLayout-9.2-gd.lib

vtkInteractionImage-9.2-gd.lib

vtkInteractionStyle-9.2-gd.lib

vtkInteractionWidgets-9.2-gd.lib

vtkIOAMR-9.2-gd.lib

vtkIOAsynchronous-9.2-gd.lib

vtkIOCesium3DTiles-9.2-gd.lib

vtkIOCGNSReader-9.2-gd.lib

vtkIOChemistry-9.2-gd.lib

vtkIOCityGML-9.2-gd.lib

vtkIOCONVERGECFD-9.2-gd.lib

vtkIOCore-9.2-gd.lib

vtkIOEnSight-9.2-gd.lib

vtkIOExodus-9.2-gd.lib

vtkIOExport-9.2-gd.lib

vtkIOExportGL2PS-9.2-gd.lib

vtkIOExportPDF-9.2-gd.lib

vtkIOGeometry-9.2-gd.lib

vtkIOHDF-9.2-gd.lib

vtkIOImage-9.2-gd.lib

vtkIOImport-9.2-gd.lib

vtkIOInfovis-9.2-gd.lib

vtkIOIOSS-9.2-gd.lib

vtkIOLegacy-9.2-gd.lib

vtkIOLSDyna-9.2-gd.lib

vtkIOMINC-9.2-gd.lib

vtkIOMotionFX-9.2-gd.lib

vtkIOMovie-9.2-gd.lib

vtkIONetCDF-9.2-gd.lib

vtkIOOggTheora-9.2-gd.lib

vtkIOParallel-9.2-gd.lib

vtkIOParallelXML-9.2-gd.lib

vtkIOPLY-9.2-gd.lib

vtkIOSegY-9.2-gd.lib

vtkIOSQL-9.2-gd.lib

vtkioss-9.2-gd.lib

vtkIOTecplotTable-9.2-gd.lib

vtkIOVeraOut-9.2-gd.lib

vtkIOVideo-9.2-gd.lib

vtkIOXML-9.2-gd.lib

vtkIOXMLParser-9.2-gd.lib

vtkjpeg-9.2-gd.lib

vtkjsoncpp-9.2-gd.lib

vtkkissfft-9.2-gd.lib

vtklibharu-9.2-gd.lib

vtklibproj-9.2-gd.lib

vtklibxml2-9.2-gd.lib

vtkloguru-9.2-gd.lib

vtklz4-9.2-gd.lib

vtklzma-9.2-gd.lib

vtkmetaio-9.2-gd.lib

vtknetcdf-9.2-gd.lib

vtkogg-9.2-gd.lib

vtkParallelCore-9.2-gd.lib

vtkParallelDIY-9.2-gd.lib

vtkpng-9.2-gd.lib

vtkpugixml-9.2-gd.lib

vtkRenderingAnnotation-9.2-gd.lib

vtkRenderingContext2D-9.2-gd.lib

vtkRenderingContextOpenGL2-9.2-gd.lib

vtkRenderingCore-9.2-gd.lib

vtkRenderingFreeType-9.2-gd.lib

vtkRenderingGL2PSOpenGL2-9.2-gd.lib

vtkRenderingHyperTreeGrid-9.2-gd.lib

vtkRenderingImage-9.2-gd.lib

vtkRenderingLabel-9.2-gd.lib

vtkRenderingLICOpenGL2-9.2-gd.lib

vtkRenderingLOD-9.2-gd.lib

vtkRenderingOpenGL2-9.2-gd.lib

vtkRenderingSceneGraph-9.2-gd.lib

vtkRenderingUI-9.2-gd.lib

vtkRenderingVolume-9.2-gd.lib

vtkRenderingVolumeOpenGL2-9.2-gd.lib

vtkRenderingVtkJS-9.2-gd.lib

vtksqlite-9.2-gd.lib

vtksys-9.2-gd.lib

vtkTestingRendering-9.2-gd.lib

vtktheora-9.2-gd.lib

vtktiff-9.2-gd.lib

vtkverdict-9.2-gd.lib

vtkViewsContext2D-9.2-gd.lib

vtkViewsCore-9.2-gd.lib

vtkViewsInfovis-9.2-gd.lib

vtkWrappingTools-9.2-gd.lib

vtkzlib-9.2-gd.lib

OpenNI2.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进行编程啦!!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

选择移动订货系统源码的四大原因

移动订货系统需要选择源码支持的厂家,有以下四个原因,其中第四个是比较重要的,大家点个关注点个赞,我们接着往下看。 1.可自行定制:支持源码的移动订货系统可以根据企业的具体需求进行定制开发,满足企业特定…

vue3 登录页和路由表开发

目录 应用场景/背景描述: 开发流程: 详细开发流程: 总结/分析: 背景描述 在上一篇的基础上开始开发,element-plusvue3 上一篇说道详细迁移的过程,如下: 所以我这篇开始了第一步&#xff0c…

Ubuntu20.04.2 Mate 安装后基本初始设置要点笔记

序言: 有几款Linux比较稳定而且LTS长期支持,窗口也比较干净有特色,CentOS、Ubuntu、Debian、Mint 都是挺不错的OS,因为LTS,所以不像Rolling版那样改动频发,为长期应用提供了比较好的保障。下面是 Ubuntu20…

【Filament】绘制立方体

1 前言 本文主要介绍使用 Filament 绘制彩色立方体,读者如果对 Filament 不太熟悉,请回顾以下内容。 Filament环境搭建绘制三角形绘制矩形绘制圆形 2 绘制立方体 本文项目结构如下,完整代码资源 → Filament绘制立方体。 2.1 自定义基类 为…

【计算机系统结构实验】实验5 多核编程(OpenMP编程)

5.1 实验目的 加深对多核处理器架构的理解; 掌握使用OpenMP进行多线程编程的基本方法; 学习Windows和OpenEuler环境下多核编程的过程和time命令; 5.2 实验平台 需要多核处理器的计算机和微软编程工具Visual Studio 2012。Taishan服务器&…

Mac使用Vmware Fusion虚拟机配置静态ip地址

一、设置虚拟机的网络为NAT 二、修改虚拟机的网络适配器网络 1、查看虚拟机的网卡 cd /etc/sysconfig/network-scripts#有些系统显示的是ens33,ens160等等 #不同的系统和版本,都会有所不同 #Centos8中默认是ens160,在RedHat/Centos7则为ens33 2、查看网…

封装Detours用于Python中x64函数hook

Detours 代码仓库: https://github.com/microsoft/Detours x64写一个任意地址hook要比x86麻烦的多,所以这里直接封装框架来用于x64的hook。 Detours是微软发布的一个API hook框架,同时支持x86和x64,看文档说也支持ARM和ARM64的Windows。 …

【Linux笔记】网络操作命令详细介绍

🍎个人博客:个人主页 🏆个人专栏:Linux学习 ⛳️ 功不唐捐,玉汝于成 前言: 网络操作是Linux系统中常见的任务之一,它涵盖了测试网络连接、配置网络接口、显示网络统计信息以及远程登录和文件传…

STM32的以太网外设+PHY(LAN8720)使用详解(5):MAC及DMA配置

0 工具准备 1.野火 stm32f407霸天虎开发板 2.LAN8720数据手册 3.STM32F4xx中文参考手册1 MAC及DMA配置 1.1 使能ETH时钟 stm32的ETH外设挂载在AHB1总线上,位于RCC_AHB1ENR的bit25-bit27: 相关语句如下: RCC_AHB1PeriphClockCmd(RCC_AHB1…

WPF组合控件TreeView+DataGrid之DataGrid封装-粉丝专栏

wpf的功能非常强大,很多控件都是原生的,但是要使用TreeViewDataGrid的组合,就需要我们自己去封装实现。 我们需要的效果如图所示: 这2个图都是第三方控件自带的,并且都是收费使用。 现在我们就用原生的控件进行封装一…

Tekton

一. 概念 Tekton 官网 Github Tekton 是一种用于构建 CI/CD 管道的云原生解决方案,它由提供构建块的 Tekton Pipelines,Tekton 作为 Kubernetes 集群上的扩展安装和运行,包含一组 Kubernetes 自定义资源,这些资源定义了您可以为…

nodejs+vue+ElementUi资源互助共享平台的设计

后台:管理员功能有个人中心,用户管理,卖家管理,咨询师管理,萌宝信息管理,幼儿知识管理,保姆推荐管理,音频资源管理,二手商品管理,商品分类管理,资…

【CF闯关练习】—— 900分段

🌏博客主页:PH_modest的博客主页 🚩当前专栏:cf闯关练习 💌其他专栏: 🔴每日一题 🟡 C跬步积累 🟢 C语言跬步积累 🌈座右铭:广积粮,缓…

GPTs | Actions应用案例

上篇文章说道,如何使用创建的GPTs通过API接口去获取外部的一些信息,然后把获取的外部信息返回给ChatGPT让它加工出来,回答你的问题,今天我们就来做一个通俗易懂的小案例,让大家来初步了解一下它的使用法! …

基于AE、VAE 和 VQ-VAE的图像生成

AE 是将数据映直接映射为数值code(确定的数值),主要用于图像压缩与还原VAE是先将数据映射为分布,再从分布中采样得到数值code,主要用于图像生成。AQ-VAE是在原始VAE基础上多了一步Vector Quantization矢量量化操作&…

STM32的以太网外设+PHY(LAN8720)使用详解(1):ETH和PHY介绍

0 工具准备 1.野火 stm32f407霸天虎开发板 2.LAN8720数据手册 3.STM32F4xx中文参考手册1 以太网外设(ETH) 1.1 以太网外设(ETH)简介 STM32F4系列MCU内部集成了一个以太网外设(ETH),可以通过介…

DRF之引入

目录 一、web应用模式 【1】前后端混合开发 【2】前后端分离 二、API接口 三、接口测试工具:Postman 四、RESTful API规范 【1】什么是RESTful 【2】RESTful API的规范 2.1 数据的安全保障 2.2 接口特征表现 2.3 多数据版本共存 2.4 数据即是资源&#…

2024年PMP考试新考纲-PMBOK第七版-项目管理原则真题解析

从战争中学习战争。对于参加2024年PMP考试的小伙伴来说,最有效的学习方式是这样地:①阅读了教材(PMBOK6、7和敏捷),了解基本概念;②反复刷近期的PMP考试真题,查漏补缺。 为此,华研荟…

华为云Stack 8.X流量模型分析(三)

三、VPC内部二层流量模型分析 1.不同宿主机下虚拟机互访 VM1发送arp请求,arp报文根据流表到达br-tun,br-tun给予VM1到达VM2的MAC信息。此时arp报文不出宿主机(Host1); **注意:**br-tun内的信息是由管理平…

2023年PMP证书的含金量有多高?对于企业来说有多大的价值?

PMP含金量更多的是“敲门砖”作用,公司招聘的门槛 当然现在PMP管理模式也很热门,各大企业都有引进改良应用在公司的项目上,之前在校友群里面大家在讨论PMP 的作用也有说到这一点,给大家看看吧。 至于为什么PMP认证从国外引进大陆…