VsCode配置PCL、Open3D自动补全

写在前面

  • 本文内容
    在VsCode上开发PCL、Open3D相关代码,代码自动补全
    Open3D、PCL的安装使用见各个版本的Open3D、PCL的编译、使用教程

  • 平台/环境
    windows11(windows10): visual studio 2022;cmake 3.22+; VsCode
    通过cmake构建项目;

  • 转载请注明出处:
    https://blog.csdn.net/qq_41102371/article/details/136440260

目录

  • 写在前面
  • 关于vscode和visual studio
  • 配置
    • 新建project
    • 安装c++扩展
    • 配置编译器
    • 配置PCL路径
    • 配置Open3D
  • 参考

关于vscode和visual studio

有些同学不知道vscode和visual studio区别以及该怎么选择,这里简单说一下:
visual studio属于集成开发环境,仅在windows、masos上能使用,功能相对vscode复杂完备,可以编译、调试,安装visual studio时会自动帮你安装MSVC编译器;但是visual studio商用是要收费的,如果你的公司没有购买授权,那么使用visual studio有可能会被告的;
vscode是代码编辑器,比visual studio小很多,免费开源windows、linux、masos都能用,因此很多功能都需要自己下载插件支持,编译的话需要另外下载编译器;笔者电脑中vscode和visual studio都安装了,因此下文中vscode代码补全需要编译器信息,用的就是visual studio的编译器路径;
更具体详细的区别可以百度或知乎。

配置

新建project

新建一个PCL或Open3D相关的project;
如果没有或者不熟悉,可以参考PCL1.14.0安装、使用教程中VsCode部分,这里以该project为例,讲解配置

安装c++扩展

首先安装C++扩展
在这里插入图片描述

配置编译器

此时我们可以看到#include <iostream>有红色波浪线,说明找不到这个文件,以及一个灯泡提示,让配置编译器路径,点进去
在这里插入图片描述
根据你自己Visual Studio的安装路径来,我这里是

D:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.32.31326/bin/Hostx64/x64/cl.exe

在这里插入图片描述

配置PCL路径

回到源码,可以看到现在显示找不到pcl的相关头文件,同样点击提示,“编辑包含路径”
在这里插入图片描述
在这里插入图片描述
然后再includepath下面添加PCL的相关头文件路径,根据你的PCL安装路径来,我这里是

"D:/carlos/install/PCL 1.10.0/include/pcl-1.10",
"D:/carlos/install/PCL 1.10.0/3rdparty/Boost/include/boost-1_72",
"D:/carlos/install/PCL 1.10.0/3rdparty/Eigen/eigen3",
"D:/carlos/install/PCL 1.10.0/3rdparty/vtk/include/vtk-8.2",
"D:/carlos/install/PCL 1.10.0/3rdparty/FLANN/include"

在这里插入图片描述

回到源码,可以看到已经没有红色波浪线警告了,也能补全跳转了
在这里插入图片描述

配置Open3D

只用添加两行,我们就可以写Open3D的代码了(路径还是看自己的,Open3D的安装使用见各个版本的Open3D、PCL的编译、使用教程)

"D:/carlos/install/open3d141/include",
"D:/carlos/install/open3d141/include/open3d/3rdparty"

在这里插入图片描述

在这里插入图片描述

参考

文中已列出

主要做激光/影像三维重建,配准、分割等常用点云算法,熟悉open3d、pcl等开源点云库,技术交流、咨询可私信

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

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

相关文章

Excel MATCH函数 两张顺序不同表格,统一排序

目录 一. 背景二. 添加辅助列,使用MATCH函数生成排序条件三. 效果 一. 背景 有如下图所示的两张表格&#xff0c;分别记录着同一批人的1月份和2月份的工资。表格A和表格B中的姓名列相同&#xff0c;工资列数据不同现在要求参考表格A中的姓名列对表格B中的数据进行排序&#xf…

C语言:预处理

C语言&#xff1a;预处理 预定义符号#define定义常量定义宏宏与函数对比 #操作符##操作符条件编译头文件包含库文件包含本地文件包含嵌套文件包含 预定义符号 C语⾔设置了⼀些预定义符号&#xff0c;可以直接使⽤&#xff0c;预定义符号也是在预处理期间处理的。 __FILE__ //…

多智能体强化学习简介

基础概念 什么是多智能体系统 多智能体系统&#xff08;Multi-Agent System&#xff0c;MAS&#xff09;是由多个自主智能体组成的系统。这些智能体可以协同工作&#xff0c;也可以独立行动&#xff0c;以实现各自的目标。在多智能体系统中&#xff0c;每个智能体都有自己的决…

在你的 Vue + Electron 项目里,引入 ESLint

因为我的项目是基于 Electron 平台的 Web 应用&#xff0c;使用 Vue 3 实现&#xff0c;而且用了 TypeScript&#xff0c;所以&#xff0c;在引入 ESLint 的时候&#xff0c;要考虑好几种规范的问题。 文章目录 零、简介1. 规则2. 配置文件3. 共享配置4. 插件5. 解析器6. 自定义…

Vue开发实例(九)动态路由实现左侧菜单导航

之前在【Vue开发实例&#xff08;六&#xff09;实现左侧菜单导航】文中实现了菜单的导航&#xff0c;本篇是在那个基础上改造的。 动态路由实现左侧菜单导航 一、动态菜单创建二、根据菜单数据来创建路由三、添加路由已加载标记&#xff0c;省的每次点击菜单都要加载 一、动态…

2021 年 3 月青少年软编等考 C 语言一级真题解析

目录 T1. 字符菱形思路分析 T2. 与圆相关的计算思路分析 T3. 苹果和虫子 2思路分析 T4. 奇数求和思路分析 T5. 药房管理思路分析 T1. 字符菱形 给定一个字符&#xff0c;用它构造一个对角线长 5 5 5 个字符&#xff0c;倾斜放置的菱形。 时间限制&#xff1a;1 s 内存限制&a…

3、云原生安全之falco的部署

文章目录 1、helm安装2、拉去镜像失败与解决3、安装faclo4、安装nfs服务器,配置k8s的持久卷4.1、创建nfs服务器,4.2、部署master节点(nsf服务的客户端)4.3、pv与pvc4.4、假设pv和pvc的配置文件出错了5、安装falcosidekick可视化(建议跳过,直接使用6)6、安装faclo与falco…

【设计模式 01】单例模式

单例模式&#xff0c;是一种创建型设计模式&#xff0c;他的核心思想是保证一个类只有一个实例&#xff08;即&#xff0c;在整个应用程序中&#xff0c;只存在该类的一个实例对象&#xff0c;而不是创建多个相同类型的对象&#xff09;&#xff0c;并提供一个全局访问点来访问…

java012 - Java集合基础

1、集合基础 1.1 集合概述 引用数据类型包括&#xff1a;类、接口、数组[] 1.2 ArrayList构造和添加方法 代码&#xff1a; 空集合对象&#xff1a;[] add() add(int index,E element): 1.3 ArrayList集合常用方法

计算机体系结构安全:对体系结构如何支持安全机制进行调研

一、体系结构支持信任建立和主动防御的技术&#xff1a; 可信3.0 二、体系结构怎么更好的支持信任建立和主动防御 2.1 支持信任建立 一、以手机芯片举例&#xff0c;用智能手机的芯片作为信任根&#xff0c;确保应用程序和敏感数据受到保护。 二、启动时验证操作系统和应用…

Stable Diffusion 模型分享:Henmix_Real(人像、真实、写真、亚洲面孔)

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八下载地址模型介绍 作者述:这个模型试图改

深入理解算法的空间复杂度

算法一&#xff1a;逐步递增型 void Loveyou(int n)//n为问题规模 {int i1;while(i<n){i;printf("I love you %d\n",i);}printf("I love you more than %d\n",n);//5 } int main() {Loveyou(3000);return 0; } 无论问题规模怎么变&#xff0c;算法运行…

Springboot教程(五)——单元测试

idea中一般使用JUnit进行单元测试 基本使用 我们可以在idea的test文件夹下的XXXXApplicationTests内进行单元测试&#xff1a; 可以在Test标注的方法上写测试代码&#xff1a; SpringBootTest class C0101ApplicationTests {Testfun contextLoads() {println("Hello …

基础二分学习笔记

模板 : 个人倾向第一种 ; 整数二分 : 最大化查找 : 可行区域在左侧 : 查找最后一个<q的数的下标 : int find(int q){// 查找最后一个 < q 的下标 int l 0 , r n 1 ;while(l 1 < r){int mid l r >> 1 ;if(a[mid]<q) l mid ;else r mid ;}return…

django settings.py STATICFILES_FINDERS 设置

STATICFILES_FINDERS 定义查找器后端以确保Django能够正确地定位和提供静态文件是很重要的. Django中的STATICFILES FINDERS设置是一个inder后端列表&#xff0c;它知道如何在不同的位置定位静态文件。 它被Django的静态文件处理系统用来在开发和部署过程中查找和收集静态文件…

js json转换成字符串

js中JSON数据转换成字符串&#xff0c;可以使用JSON.stringify()方法。 var obj {name: "张三", age: 18, gender: "男"}; var jsonString JSON.stringify(obj); console.log(jsonString); // 输出 {"name":"张三","age"…

土壤类型数据

国家地球系统科学数据中心

AGM CPLD (AGRV2K )的时钟(外部时钟和片上内部振荡器)

AGM CPLD &#xff08;AGRV2K &#xff09;的时钟(外部时钟和片上内部振荡器) 外部晶振 与 内部振荡器&#xff1a; mcu 和 cpld 联合编程时&#xff0c; 整颗芯片需要一颗外部晶振。 &#xff08;芯片有内部振荡器&#xff0c; 但误差较大&#xff0c; 校准后 5%以内误差&…

216. 组合总和 III(力扣LeetCode)

文章目录 216. 组合总和 III回溯算法 216. 组合总和 III 找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次&#xff0c;组合可以以任何顺序…

Electron通过预加载脚本从渲染器访问Node.js

问题&#xff1a;如何实现输出Electron的版本号和它的依赖项到你的web页面上&#xff1f; 答案&#xff1a;在主进程通过Node的全局 process 对象访问这个信息是微不足道的。 然而&#xff0c;你不能直接在主进程中编辑DOM&#xff0c;因为它无法访问渲染器 文档 上下文。 它们…