CoppeliaSim ( vrep ) 与 c++ ( visual studio 2019)新建基本工程

2023-05-16

**

CoppeliaSim ( vrep ) 与 c++ ( visual studio 2019)新建基本工程

**

文章目录

    • CoppeliaSim ( vrep ) 与 c++ ( visual studio 2019)新建基本工程
  • 前言
  • 一、查手册
  • 二、VS2019新建工程
    • 1.生成库
    • 2. 设置系统环境变量
    • 3. 新建VS2019控制台应用
  • 三 联合仿真
    • 1. vs测试程序
    • 2. vrep脚本设置
    • 3. 开始联合仿真
    • 4. 单c++控制
  • 总结


前言

现有教程多使用vrep旧版本和vs旧版本进行,新的版本略有不同,本文记录的是vrep4.0.0 x64 和vs2019 x64 的联合仿真基本环境搭建。


参考教程如下:
V-REP与C++初步通信测试
V-REP通过C++程序控制仿真
v-rep与vs 2013 C/C++通信/联合仿真
vrep与vs2015联合仿真(C/C++)
V-rep与VS2017 C++通信环境配置,远程操控机械臂
v-rep 入门-和c++client 图像通讯

一、查手册

每个版本的用户手册略有不同,在vrep软件内打开 help-> help topic 对应本版本本地用户手册可以查看与c++联合仿真需要进行的客户端和服务器端基本设置。
在这里插入图片描述
本部分可参考 V-REP与C++初步通信测试

二、VS2019新建工程

1.生成库

VS打开VREP文件夹如下图目录中的项目,重新生成解决方案,生成x64文件夹,里面有文件remoteApiSharedLib-64.lib和 remoteApi.dll,之后会用到,报错参考 vrep与vs2015联合仿真(C/C++)
代码如下(示例):

2. 设置系统环境变量

参考 vrep与vs2015联合仿真(C/C++)
将remoteApi.dll所在目录添加环境变量Path

在电脑的系统属性里点击环境变量
右键此电脑——高级系统设置——高级——环境变量——双击系统变量path——新建——设置remoteAPI.dll文件的目录
在这里插入图片描述

3. 新建VS2019控制台应用

在这里插入图片描述
右键项目打开属性页
设置 vc++目录的库目录为生成的x64文件夹中 remoteApiSharedLib-64.lib文件所在的目录
在这里插入图片描述
将vrep文件夹下图位置的三个文件夹复制到VS工程文件夹中,
在这里插入图片描述
然后在C/C++ 常规 附加包含目录中添加这三个文件夹位置在这里插入图片描述在预处理器的预处理定义中添加以下内容如下图

WIN32
NDEBUG
_CONSOLE
NON_MATLAB_PARSING
MAX_EXT_API_CONNECTIONS=255
DO_NOT_USE_SHARED_MEMORY
_CRT_SECURE_NO_WARNINGS

在这里插入图片描述
修改输出文件的对象文件名为$(IntDir)%(RelativeDir)
在这里插入图片描述
在链接器-输入 的 附加依赖项 中添加外部库remoteApiSharedLib-64.lib
在这里插入图片描述
以上是新建工程的基本设置

三 联合仿真

1. vs测试程序

#include<iostream>
#include"extApi.h"
void main()
{

	using namespace std;

	int Port = 19999;

	int clientID = simxStart("127.0.0.1", Port, 1, 1, 1000, 5);

	if (clientID != -1)
	{
		cout << "V-rep connected.";
		simxFinish(clientID);
	}
	else
	{
		cout << "V-rep can't be connected.";
	}

	cin.get();
	return;
}

2. vrep脚本设置

在vrep 脚本初始化函数中加入simRemoteApi.Start(19999),19999为端口号,需与VS源码中对应。
在这里插入图片描述

3. 开始联合仿真

需要先启动vrep仿真,再运行vs程序,打印连接结果。
在这里插入图片描述

4. 单c++控制

根据之前使用python联合仿真的经验,在vs中端口号选择19997(vrep自动打开的端口,不需要脚本设置了),可以省去手动启动vrep的过程,之后可以在vs中控制仿真的启动停止,适用于需要多次重复仿真进行学习的过程。
在这里插入图片描述

总结

以上是对VREP 和C++联合仿真工程搭建的学习总结,下一步将继续使用C++进行项目开展。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CoppeliaSim ( vrep ) 与 c++ ( visual studio 2019)新建基本工程 的相关文章

随机推荐

  • android NDK 如何使用 JNI 与 Java&Kotlin 语言交互?

    android NDK 如何使用 JNI 与 Java amp Kotlin 语言交互 xff1f http web archive org web 20120626135526 http java sun com docs books j
  • 海康威视摄像头 rtsp 地址格式

    海康威视摄像头 rtsp 地址格式 单播取流格式 rtsp username password 64 ip port Steaming Channels number 多播取流格式 rtsp username password 64 ip
  • debian 11.3 国内最快镜像源

    debian 11 3 国内最快镜像源 deb https mirrors tencent com debian bullseye main non free contrib deb src https mirrors tencent co
  • golang 如何自定义解析 markdown to html ?

    golang 如何自定义解析 markdown to html xff1f 输出 HTML 模板内容如下 span class token doctype span class token punctuation lt span span
  • 如何计算 2d 多边形面积?

    如何使用 C 43 43 11 30 行代码搞定计算 2D 多边形面积 xff1f 完整代码如下 xff1a include lt vector gt include lt utility gt using Point 61 std pai
  • 怎样为MFC对话框建立初始化函数BOOL HistoryData::OnInitDialog()

    一 在要建立OnInitDialog 的对话框上右击建立类向导 xff0c 如下图 xff1a 二 为对话框建立消息映射 xff0c 如下图 xff1a 在classwizard的Message Maps中的Object IDs选择该对话框
  • 颜色值如何使用 C++ 输出字符串格式?

    颜色值如何使用 C 43 43 输出字符串格式 xff1f https developer android com reference android graphics Color html https en wikipedia org w
  • 如何使用 opencv 调用 yolov5 onnx 模型 ?

    如何使用 opencv 调用 yolov5 onnx 模型 xff1f rtx3090 24G release 90 fps by use yolov5n rtx3090 24G release 20 fps by use yolov5s
  • Conda 备忘录指南 (VER 4.12.0)

    Conda 备忘录指南 VER 4 12 0 快速入门 提示 建议为任何新项目或工作流创建一个新环境 CNENCMD验证conda安装和检查版本verify conda install and check versionconda info
  • 使用 C++ filesystem 递归目录

    如何使用 C 43 43 filesystem 递归目录 xff1f include lt Windows h gt include lt iostream gt include lt string gt include lt fstrea
  • CMake 如何复制文件?

    何时执行自定义指令 PRE BUILD PRE LINK POST BUILD 单文件 add custom command TARGET PROJECT NAME POST BUILD COMMAND CMAKE COMMAND E co
  • 什么是 MQ?

    消息队列 MQ 是在微服务架构中使用的异步服务到服务通信协议 在 MQ 中 xff0c 消息被排队 xff0c 直到它们被处理和删除 每条消息只处理一次 此外 xff0c MQ 可用于解耦重量级处理 缓冲和批处理工作 消息队列提供系统不同部
  • Qt 如何并发异步调用?

    Qt 如何并发异步调用 xff1f QT 43 61 core concurrent widgets template lt typename T typename Handler gt void await const QFuture l
  • 如何使用 C++ 构建一个环结构?

    C 43 43 环状移动 include lt iostream gt include lt list gt int main auto list 61 std list lt int gt 1 3 5 7 9 for auto i 61
  • C++ std::thread 如何使用?

    C 43 43 是一种高级编程语言 xff0c 被广泛用于开发高性能 大规模 复杂的软件系统 其中一个强大的特性就是多线程编程 xff0c 而std thread是C 43 43 标准库提供的多线程支持的重要组成部分 免费虚拟手机号注册网址
  • 导航雷达回波信号格式和目标检测算法

    导航雷达回波信号格式 导航雷达回波信号格式会根据具体的雷达类型和应用场景有所不同 通常 xff0c 导航雷达回波信号包含以下几个关键参数 xff1a 距离信息 xff08 Range xff09 xff1a 雷达发送的电磁波与目标相互作用后
  • 厦门IT公司名单及联系方式

    厦门高士达科技实业有限公司 xff1a xff08 已走访并开展了座谈 xff09 地址 xff1a 厦门软件园观日路58号9楼 总机 xff1a 2958000 联系人 xff1a 童小姐 xff08 人事专员 xff09 厦门恒深智能软
  • 巧用可变参数宏、编译器内置宏和printf输出调试信息

    前言 xff1a 我们在写程序的时候 xff0c 总是或多或少会加入一些printf之类的语句用于输出调试信息 xff0c 但是printf语句有个很不方便的地方就是当我们需要发布程序的时候要一条一条的把这些语句删除 xff0c 而一旦需要
  • STM32外设寄存器地址定义

    一直都是用STM32做项目中的主控芯片 xff0c 在编程的时候 xff0c 之前一直忽视了一个问题 xff0c 那就是寄存器的位置是如何定义的 xff0c 为什么用一个USART1 gt CR操作就能够给这个CR寄存器赋值 xff1f 其
  • CoppeliaSim ( vrep ) 与 c++ ( visual studio 2019)新建基本工程

    CoppeliaSim vrep 与 c 43 43 xff08 visual studio 2019 xff09 新建基本工程 文章目录 CoppeliaSim vrep 与 c 43 43 xff08 visual studio 201