当前位置: 首页 > article >正文

【PCL】vs2022配置PCL环境

vs2022配置PCL环境

  • 前言
  • 一、安装教程
  • 二、路径python脚本


前言

vs2022 配置PCL环境和路径Python脚本


一、安装教程

看这位兄弟写的就行


二、路径python脚本

因为我和他的版本并不一样,一个一个改太麻烦了,所以特此写了个python脚本。请注意要脚本中OpenNI2位置,修改成你的位置即可。

import os 

# 查找给定路径中的PCL依赖库
def dependency(paths):
    # 将输入的路径字符串按分号分割成列表
    data = paths.split(";")
    arr = []
    for path in data:
        # 检查路径是否存在
        if os.path.exists(path):
            # 遍历路径中的所有文件
            for _, _, files in os.walk(path):
                for file in files:
                    # 如果文件以.lib结尾,则添加到列表中
                    if file.endswith(".lib"):
                        arr.append(file)
        else:
            print("路径不存在")
    # 输出找到的PCL依赖库列表
    print("PCL依赖项:")
    print(";".join(arr))

# 获取包含目录
def includes(path):
    data = ['C:\Program Files\OpenNI2\Include']
    for root, dirs, _ in os.walk(path):
        # 计算当前目录的深度
        depth = root.count(os.sep)-path.count(os.sep)
        if depth == 3:
            if "include" in root or "3rdParty" in root:
                # 确保当前目录是以'includes'结尾
                if "include" == root[-7:]:
                    data.append(root)
                if "pcl" == root[-3:]:
                    data.append(root[:-4].replace(path,"$(PCL_ROOT)"))
        # 如果深度大于3,则停止遍历当前目录            
        if depth > 3:
            del dirs[:]
    print("PCL包含目录:")
    print(";".join(data))

def lib(path):
    data = ['C:\Program Files\OpenNI2\Lib']
    for root, dirs,_ in os.walk(path):
        # 计算当前目录的深度
        depth = root.count(os.sep)-path.count(os.sep)
        if depth == 3 or depth < 2:
            if "lib" in root or "3rdParty" in root:
                # 确保当前目录是以'includes'结尾
                if "lib" == root[-3:]:
                    data.append(root)
        # 如果深度大于3,则停止遍历当前目录            
        if depth > 3:
            del dirs[:]
    print("PCL库目录:")
    print(";".join(data))
    dependency(";".join(data))      


# 主程序入口
if __name__ == "__main__":
    print("\r")
    print("查找PCL依赖库")
    print("ver  1.0.0")
    print("\r")
    while True:
        # 用户输入PCL安装路径
        path = input("请输入PCL安装路径\n")
        # 检查输入路径是否存在
        if os.path.exists(path):
            includes(path)
            lib(path)
        key = input("结束请输入quit,继续请随意按键\r\n")
        if key == "quit":
            break
        
        

运行结果:
在这里插入图片描述


http://www.kler.cn/a/374414.html

相关文章:

  • Flutter Color 大调整,需适配迁移,颜色不再是 0-255,而是 0-1.0,支持更大色域
  • 创意设计的起点:十大网页设计模板网站
  • 使用 Python 的 BeautifulSoup 与 Flask/Flask-RESTful 集成进行数据爬取和 API 构建
  • 【如何获取股票数据29】Python、Java等多种主流语言实例演示获取股票行情api接口之沪深A股次新股池数据获取实例演示及接口API说明文档
  • 【C++动态规划】有效括号的嵌套深度
  • 微信小程序中点击搜素按钮没有反应,可能是样式问题(按钮被其他元素覆盖或遮挡)
  • RHCE第三次实验
  • 强大的文本编辑器Notepad++8.4.6 最新版
  • 【回溯】力扣 77.组合
  • [数组基础] 0238. 除自身以外数组的乘积
  • 「Mac畅玩鸿蒙与硬件11」鸿蒙UI组件篇1 - Text 和 Button 组件详解
  • 音频剪辑怎么做?盘点10款高效的音频剪辑工具
  • Android 利用socket 来实现 自动升级apk
  • linux 中文实用型手册 基于RHEL(红帽系)
  • 三网折扣话费充值接口对接详细步骤?
  • 速盾:海外CDN高防解析.提升网站安全与速度
  • 在 .NET 8 Web API 中实现 Entity Framework 的 Code First 方法
  • 【算法系列-二叉树】对称翻转二叉树
  • docker安装、设置非sudo执行、卸载
  • CesiumJS 案例 P15:检测标记、鼠标点击移动标记、鼠标拖动标记
  • CSS Text(文本)
  • HTML CSS
  • JavaEE初阶---网络原理/UDP服务器客户端程序
  • C# 第一阶段(桌面软件)
  • qt QProgressBar详解
  • 10.31学习