win11下配置visual studio 2022+PCL1.13.0

2023-11-07

第一部分: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.0-AllInOne-msvc2022-win64.exe

2、点击下载对应的pdb文件:pcl-1.13.0-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.0-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.0\3rdParty\OpenNI2\Include\
OPENNI2_LIB64             C:\Program Files\PCL 1.13.0\3rdParty\OpenNI2\Lib\
OPENNI2_REDIST64          C:\Program Files\PCL 1.13.0\3rdParty\OpenNI2\Redist\
PCL_ROOT                  C:\Program Files\PCL 1.13.0

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

添加内容如下:

%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.0\3rdParty\Boost\include\boost-1_80
C:\Program Files\PCL 1.13.0\3rdParty\Eigen\eigen3
C:\Program Files\PCL 1.13.0\3rdParty\FLANN\include
C:\Program Files\PCL 1.13.0\3rdParty\Qhull\include
C:\Program Files\PCL 1.13.0\3rdParty\VTK\include\vtk-9.2
C:\Program Files\PCL 1.13.0\include\pcl-1.13
C:\Program Files\PCL 1.13.0\3rdParty\OpenNI2\Include     # OpenNI2安装地址可以自行更改

加入内容:

C:\Program Files\PCL 1.13.0\3rdParty\Boost\lib
C:\Program Files\PCL 1.13.0\lib
C:\Program Files\PCL 1.13.0\3rdParty\FLANN\lib
C:\Program Files\PCL 1.13.0\3rdParty\Qhull\lib
C:\Program Files\PCL 1.13.0\3rdParty\VTK\lib
C:\Program Files\PCL 1.13.0\3rdParty\OpenNI2\Lib

加入内容如下

_DEBUG;
_CONSOLE;
_SCL_SECURE_NO_WARNINGS;
_CRT_SECURE_NO_WARNINGS;

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

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

# File      :Extract_lib_to_txt.py
# Auther    :WooChi
# Time      :2022/06/08
# Version   :1.0
# Function  :自动提取lib文件夹下的.lib文件,根据文件名分别导出到release_lib.txt和debug_lib.txt中

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.0\bin;C:\Program Files\PCL 1.13.0\3rdParty\FLANN\bin;C:\Program Files\PCL 1.13.0\3rdParty\VTK\bin;C:\Program Files\PCL 1.13.0\3rdParty\Qhull\bin;C:\Program Files\PCL 1.13.0\3rdParty\OpenNI2\Tools;

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

win11下配置visual studio 2022+PCL1.13.0 的相关文章

随机推荐

  • h5跳转到 苹果 ios app store 应用商店 的APP详情页面

    在开发 h5跳转到 ios系统 app store的时候遇到两个问题 原理 判断是安卓还是苹果 如果为苹果显示苹果的标签 点击a标签 执行跳转唤起APP openAPP 加一个定时器 三秒 可根据需求调整 之后 如果没有唤起成功 跳转到Ap
  • Java项目:网上图书馆管理系统(java+jsp+servlert+mysql+ajax)

    源码获取 博客首页 资源 里下载 一 项目简述 功能 区分为管理员用户和普通用户 普通用户 用户登录 个 人信息修改 图书查询 用户借阅 用户归还 管理员用 户 图书馆里 归还管理 借阅信息查询 图书维护 分 类管理 读者管理等等功能 二
  • 服务器控制口协议,服务器管理ipmi接口协议的扩展方法 Extension Methods server management interface protocol ipmi...

    摘要 The invention provides an extension method for managing an IPMI Intelligent Platform Management Interface interface p
  • eclipse中配置Tomcat

    将Tomcat服务器整合到Eclipse工具中 可以通过Eclipse启动 关闭tomcat服务器 更重要的是 可以非常方便的将在Eclipse中创建的Web项目发布到Tomcat服务器中运行 文章目录 在这里插入图片描述 方式一 在win
  • ubuntu20.04安装和卸载gtsam

    安装boost Boost gt 1 43 Ubuntu sudo apt get install libboost all dev 安装cmake CMake gt 3 0 Ubuntu sudo apt get install cmak
  • 2023第十四届蓝桥杯c++ b组省赛真题

    1 冶炼金属 题目描述 小蓝有一个神奇的炉子用于将普通金属 O 冶炼成为一种特殊金属 X 这个炉子有一个称作转换率的属性 V V 是一个正整数 这意味着消耗 V 个普通金 属 O 恰好可以冶炼出一个特殊金属 X 当普通金属 O 的数目不足
  • 十进制与任意进制互转

    n进制转十进制 static int transfer char chars int n int result 0 int index chars length 1 while index gt 0 result chars index 0
  • Linux centos redhat 装NVIDIA显卡驱动

    Linux装显卡驱动 第一步 下载驱动 对应相同型号 下载即可 英伟达驱动下载地址https www nvidia cn Download index aspx lang cn 以 K620为例 如下图 2 下载完成后需要上传至服务器 以U
  • 企业引入人脸识别考勤 想要代打卡?没门!

    近年来 伴随着生物识别技术的进步 越来越多的生物识别技术应用进入市场 冲击各大行业 传统的考勤模式同样面临着来自新兴技术的挑战 以人脸识别技术为首 掀起一场考勤领域的变革 刷脸 考勤 想要代签不容易 传统的 最为人所熟知的考勤模式莫过于磁卡
  • CH11-多媒体应用开发

    目标 掌握MediaPlayer类与SoundPool类的使用 能够实现播放音频文件的功能 掌握VideoView类的使用 能够实现播放视频文件的功能 掌握MediaPlayer类与SurfaceView类的使用 能够实现播放视频文件的功能
  • 一次性解决tensorflow-gpu:library:cusolver64_10.dll/ cudart64_101.dll/cublas64_10.dll not found等

    错误 Could not load dynamic library cudart64 101 dll Could not load dynamic library cublas64 10 dll Could not load dynamic
  • 高速入门知识02:降低串扰和维持信号完整性的布线方法

    文章目录 前言 一 单端走线布线 1 1 带有短截线的菊花链布线 1 2 没有短截线的菊花链布线 1 3 星型布线 1 4 蛇型布线 二 差分走线布线 前言 串扰是并行走线间不需要的信号耦合 微带线和带状线正确的布线和叠层布局能够降低串扰
  • 剑指 Offer 55 - II. 平衡二叉树-- 心得和思路

    Definition for a binary tree node public class TreeNode int val TreeNode left TreeNode right TreeNode int x val x class
  • 0基础学习大数据之大数据技术发展趋势如何

    大数据如今飞速发展 已经逐步开始影响到我们生活的各个角落 同时涌现出了大量新的技术 它们成为大数据采集 存储 处理和呈现的有力武器 那么大数据技术的发展趋势会是怎样的呢 2014年以后 整体大数据的技术栈已经趋于稳定 由于云计算 人工智能等
  • ufs 固态硬盘_UFS究竟是什么?对于手机提升大不大,一文带你了解

    相信很多小伙伴在2020年挑选5G新手机的时候都会看到 UFS 3 0 那这个名称与USB很类似的配置究竟是什么呢 后面的数字是越大越好 还是越小越好 现在就来科普科普 首先UFS闪存的全称Universal Flash Storage 这
  • 朴素贝叶斯(基于sklearn的实现)

    由于自己太懒 不想看太长的代码 所以我就调用的sklearn库的朴素贝叶斯类 数据集选择的是这个博客中自己构造的数据集 该博客自己实现了朴素贝叶斯类 想自己编写一个朴素贝叶斯函数的读者可以参考这个博客 下面是用sklearn库实现朴素贝叶斯
  • verilog_串口实现

    verilog 串口实现 概述 先了解串口的基础知识 串口是怎样传数据的 什么是波特率 波特率怎么计算 说明 通过Verilog编写串口 通过逻辑分析仪与串口模块的对接来进一步了解串口的应用 文章目录 1 什么是波特率 波特率怎么计算 1
  • 2020秋招总结(持续更新)

    开立医疗提前批面试 1 项目讲解 没做准备 讲的不流畅 思路混乱 2 进程拥有的资源 进程地址空间 代码区 数据区 堆栈 内核部分 3 线程的理解 内核级线程 用户级线程 进程与线程的区别 4 线程间通信方式 与进程间通信方式混淆了 线程是
  • 聊聊rocketmq的KVConfigManager

    序 本文主要研究一下rocketmq的KVConfigManager KVConfigManager org apache rocketmq namesrv kvconfig KVConfigManager java public clas
  • win11下配置visual studio 2022+PCL1.13.0

    第一部分 visual studio2022 安装 vs官网网址如下 https visualstudio microsoft com zh hans vs 第一步 我们打开官网链接 按如下操作点击下载免费版本的exe文件 第二步 打开下载