RealSenseSR300工程环境配置说明

news2024/11/16 19:41:07

新建目录结构如下:

  • output:存储可执行文件.exe等
  • src:存储源码.cpp .h等
  • 3rdparty:存储第三方库 opencv等
    在这里插入图片描述
    其中将源码按照main及其相关文件分为以下三类
    在这里插入图片描述

vs2015许可证到期后先激活,激活码很多网上有,如:HMGNV-WCYXV-X7G9W-YCX63-B98R2

新建项目解决方案

在这里插入图片描述

在这里插入图片描述
RealSenseSR300解决方案中自带一个RealSenseSR300项目,解决方案只有一个,但是可能有很多项目(每个main函数及相关文件统称为一个项目,像源码中generatePLY.cpp Socket.cpp 和Socket20200403.cpp每个文件都有一个main函数所以应该建三个项目 这样在生成解决方案时可以每个项目分开编译)

在解决方案新建项目
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

把原始的RealSenseSR300项目重命名为Socket
解决方案如下,包含了三个项目:
在这里插入图片描述

对每个项目新增现有项cpp文件(如果有h文件请在头文件目录下新增)
选择对应项目名称的src子文件夹中的cpp文件
在这里插入图片描述
新增完文件的项目如下
在这里插入图片描述
修改调试模式为Release x64
在这里插入图片描述

右键点击Socket项目-属性,修改exe输出路径

在这里插入图片描述
选中后点击编辑,输出路径由宏定义,但是可以显示绝对路径。
默认宏为:$ (SolutionDir)$(Configuration)
路径为:D:\RealSenseSR300\RealSenseSR300\Debug
在这里插入图片描述
修改到输出output\Socket文件夹,同时修改调试配置为Release x64 点击应用后确定。这个路径也使用了宏,这样后续在编译的时候可根据不同的调试模式在不同的子文件夹结构下生成exe文件

在这里插入图片描述

另外两个项目做类似修改

在这里插入图片描述

在这里插入图片描述
首先编译Socket
简单看了下源码发现,我们需要opencv和realsenseSDK。对于第三方库,VS需要配置项目的包含目录(include)、库目录(lib)和附加依赖项(.lib文件)

先搞定realsenseSDK链接

右键Socket项目属性-VC++目录-包含目录-编辑,新增realsenseSDK包含目录:C:\Program Files (x86)\Intel RealSense SDK 2.0\include
在这里插入图片描述
点击应用后确定

右键Socket项目属性-VC++目录-库目录-编辑,新增realsenseSDK库目录:C:\Program Files (x86)\Intel RealSense SDK 2.0\lib\x64
在这里插入图片描述

点击应用后确定

右键Socket项目属性-链接器-输入-附加依赖项-编辑,新增realsenseSDK库文件:realsense2.lib
在这里插入图片描述点击确定应用后确定

再搞定opencv链接

由于我们不需要对opencv源码进行改动,直接下载编译好的包即可

下载地址:https://opencv.org/releases/

下载这个(直接下载最新版就行 因为向下兼容)
在这里插入图片描述
下载完成放在D:\RealSenseSR300\3rdparty\opencv 之后安装exe,提取到:D:\RealSenseSR300\3rdparty\opencv\setup
现在setup的目录如下:
在这里插入图片描述

右键Socket项目属性-VC++目录-包含目录-编辑,新增opencv包含目录:D:\RealSenseSR300\3rdparty\opencv\setup\opencv\build\include
在这里插入图片描述

点击应用后确定

右键Socket项目属性-VC++目录-库目录-编辑,新增opencv库目录:D:\RealSenseSR300\3rdparty\opencv\setup\opencv\build\x64\vc16\lib
在这里插入图片描述

点击应用后确定

右键Socket项目属性-链接器-输入-附加依赖项-编辑,新增opencv库文件:opencv_world490.lib opencv_world490d.lib
在这里插入图片描述

点击确定应用后确定

右键Socket项目-重新生成 编译项目 编译通过 但是会出现以下报错在这里插入图片描述
右键Socket项目-重新扫描解决方案 退出VS2015重新打开此工程即可

在这里插入图片描述
同样地,将Socket项目的配置拷贝到另外两个项目上,重新生成解决方案即可
在这里插入图片描述

在这里插入图片描述


C:\Program Files (x86)\Intel RealSense SDK 2.0\bin\x64\realsense2.dll
D:\RealSenseSR300\3rdparty\opencv\setup\opencv\build\x64\vc16\bin\opencv_world490.dll和opencv_world490d.dll
拷贝到exe输出目录:
D:\RealSenseSR300\output\generatePLY\x64\Release
D:\RealSenseSR300\output\Socket\x64\Release
D:\RealSenseSR300\output\Socket_test\x64\Release

使得程序能正常运行

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

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

相关文章

多目标粒子群算法及其MATLAB实现

多目标粒子群优化(Multi-Objective Particle Swarm Optimization, MOPSO)算法是一种基于种群的优化算法,它结合了粒子群优化(Particle Swarm Optimization, PSO)和多目标优化的思想。多目标粒子群(MOPSO&am…

Python小功能实现(链接下载图品并存储到EXCEL中)

import os import requests from openpyxl import Workbook from openpyxl.drawing.image import Image from concurrent.futures import ThreadPoolExecutor# 图片链接列表 image_urls ["https://uploads/file/20230205/f85Lpcv8PXrLAdmNUDE1Hh6xqkp0NHi2gSXeqyOb.png&q…

stm32f103c8t6学习笔记(学习B站up江科大自化协)-UNIX时间戳

UNIX时间戳 UNIX时间戳最早是在UNIX系统使用的,所以叫做UNIX时间戳,之后很多由UNIX演变而来的系统也继承了UNIX时间戳的规定,目前linux,windows,安卓这些操作系统的底层计时系统都是用UNIX时间戳 时间戳这个计时系统和…

C++ Qt QMainWindow实现无边框窗口自定义标题栏可拖拽移动拉伸改变窗口大小

本篇博客介绍C Qt QMainWindow实现无边框窗口,适用于win10/win11系统。 QMainWindow相对于QWidget多了dockedwidget功能,跟多人可能更喜欢用QMainWindow做主窗口,如果不需要dockedwidget功能,QMainWindow与QWidget做主窗口基本无…

Spring - 4 ( 11000 字 Spring 入门级教程 )

一:Spring IoC&DI 在前⾯的章节中, 我们学习了 Spring Boot 和 Spring MVC 的开发, 可以完成⼀些基本功能的开发了, 但是什么是 Spring 呢? Spring, Spring Boot 和 SpringMVC 又有什么关系呢? 咱们还是带着问题去学习.我们先看什么是Spring 1.1 Spring 是什…

万兆以太网MAC设计(7)ARP协议报文格式详解以及ARP层模块设计

文章目录 前言:1、ARP协议详解2、ARP工作机制 二、ARP_RX模块设计三、ARP_TX模块设计四、ARP_table模块5、仿真5.1、发送端5.2、接收端5.3、缓存表 总结 前言: 1、ARP协议详解 ARP数据格式: 硬件类型:表示硬件地址的类型。它的值为1表示以太…

微信小程序使用echarts组件实现饼状统计图功能

微信小程序使用echarts组件实现饼状统计图功能 使用echarts实现在微信小程序中统计图的功能,具体的实现步骤思路可进我主页查看我的另一篇博文https://blog.csdn.net/weixin_45465881/article/details/138171153进行查看,本篇文章主要使用echarts组件实…

javaEE初阶——多线程(九)——JUC常见的类以及线程安全的集合类

T04BF 👋专栏: 算法|JAVA|MySQL|C语言 🫵 小比特 大梦想 此篇文章与大家分享多线程专题的最后一篇文章:关于JUC常见的类以及线程安全的集合类 如果有不足的或者错误的请您指出! 目录 3.JUC(java.util.concurrent)常见的类3.1Callable接口3.2 RentrantLoc…

Yolov5 v7.0目标检测——详细记录环境配置、自定义数据处理、模型训练与常用错误解决方法(数据集为河道漂浮物)

1. Yolov5 YOLOv5是是YOLO系列的一个延伸,其网络结构共分为:input、backbone、neck和head四个模块,yolov5对yolov4网络的四个部分都进行了修改,并取得了较大的提升,在input端使用了Mosaic数据增强、自适应锚框计算、自…

鸿蒙云函数调试坑点

如果你要本地调试请使用 const {payload, action} event.body/** 本地调试不需要序列化远程需要序列化 */ // const {payload, action} JSON.parse(event.body) const {payload, action} event.body 注意: 只要修改云函数,必须上传云函数 如果使用 const {pay…

牛客NC98 判断t1树中是否有与t2树完全相同的子树【simple 深度优先dfs C++/Java/Go/PHP】

题目 题目链接: https://www.nowcoder.com/practice/4eaccec5ee8f4fe8a4309463b807a542 思路 深度优先搜索暴力匹配 思路和算法这是一种最朴素的方法——深度优先搜索枚举 s 中的每一个节点,判断这个点的子树是否和 t 相等。如何判断一个节点的子树是否…

HTTP/1.1,HTTP/2.0和HTTP/3.0 各版本协议的详解(2024-04-24)

1、HTTP介绍 HTTP 协议有多个版本,目前广泛使用的是 HTTP/1.1 和 HTTP/2,以及正在逐步推广的 HTTP/3。 HTTP/1.1:支持持久连接,允许多个请求/响应通过同一个 TCP 连接传输,减少了建立和关闭连接的消耗。 HTTP/2&#…

基于STM32和阿里云的智能台灯(STM32+ESP8266+MQTT+阿里云+语音模块)

一、主要完成功能 1、冷光模式和暖光模式两种灯光 主要支持冷光和暖光模式两种,可以通过语音模块或手机app远程切换冷暖光 2、自动模式和手动模式 主要支持手动模式和自动两种模式(app或语音助手切换) (1)自动模式:根据环境光照…

vscode 使用文件模板功能来添加版权信息

vscode 新建文件的时候,自动填充作者及版权信息 无需使用插件,操作如下: 选择 “首选项(Preferences)”。在搜索框中输入 “file template” 或者 “文件模板”,然后选择相关的设置项。 {"C_Cpp.clang_format_fallbackSt…

[lesson58]类模板的概念和意义

类模板的概念和意义 类模板 一些类主要用于存储和组织数据元素 类中数据组织的方式和数据元素的具体类型无关 如:数组类、链表类、Stack类、Queue类等 C中将模板的思想应用于类,使得类的实现不关注数据元素的具体类型,而只关注类所需要实现的功能。 C中的类模板…

Docker 开启远程安全访问

说明 如果你的服务器是公网IP,并且开放了docker的远程访问,如果没有进行保护是非常危险的,任何人都可以向你的docker中推送镜像、运行实例。我曾开放过阿里云服务器中docker的远程访问权限,在没有开启保护的状态下,几…

企业微信hook接口协议,根据手机号搜索联系人

根据手机号搜索联系人 参数名必选类型说明uuid是String每个实例的唯一标识,根据uuid操作具体企业微信 请求示例 {"uuid":"3240fde0-45e2-48c0-90e8-cb098d0ebe43","phoneNumber":"1357xxxx" } 返回示例 {"data&q…

抖音 小程序 获取手机号 报错 getPhoneNumber:fail auth deny

这是因为 当前小程序没有获取 手机号的 权限 此能力仅支持小程序通过试运营期后可用,默认获取权限,无需申请; https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/guide/open-capabilities/acquire-phone-number-acqu…

用斐波那契数列感受算法的神奇(21亿耗时0.2毫秒)

目录 一、回顾斐波那契数列 二、简单递归方法 (一)解决思路 (二)代码展示 (三)性能分析 三、采用递归HashMap缓存 (一)解决思路 (二)代码展示 &…

深度学习系列65:数字人openHeygen详解

1. 主流程分析 从inference.py函数进入,主要流程包括: 1) 使用cv2获取视频中所有帧的列表,如下: 2)定义Croper。核心代码为69行:full_frames_RGB, crop, quad croper.crop(full_frames_RGB)。…