200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > vrep与vs联合仿真(C/C++)

vrep与vs联合仿真(C/C++)

时间:2023-11-17 01:09:48

相关推荐

vrep与vs联合仿真(C/C++)

文章目录

一、Vrep官方用户使用手册二、配置vs实现联合仿真1.在vs中编译vrep的开源代码2.将remoteApi.dll所在目录添加环境变量Path3.配置vs环境4.VS C++控制 V-REP机械臂

一、Vrep官方用户使用手册

vrep相关中文资料比较少,最好参考官方英文手册

官方文档连接本文使用软件版本

vrep 3.6.2 64位;vs 64位

二、配置vs实现联合仿真

1.在vs中编译vrep的开源代码

vs使用x64进行编译调试,运行C:\Program Files\V-REP3\V-REP_PRO_EDU\programming\remoteApiBindings\lib目录下的remoteApiSharedLib-64.vcxproj

编译之后生成文件夹X64,在里面有文件remoteApiSharedLib-64.lib,文件夹lib中有remoteApi.dll,之后会用到

编译过程中报错

warning LNK4042: 对象被多次指定;已忽略多余的指定

无法解析的外部符号

这时按照 /gupar/article/details/52860794

中做法,在工程属性 :C/C++ >> 输出文件 >>对象文件名 把 $(IntDir) 修改为: $(IntDir)%(RelativeDir)

编译即成功。

2.将remoteApi.dll所在目录添加环境变量Path

在电脑的系统属性里点击环境变量

然后在系统变量中找到Path

双击Path后,点击新建,设置remoteAPI.dll文件的目录

3.配置vs环境

新建一个工程,然后点击工程文件名,右键打开属性页,在VC++目录的库目录中添加remoteApiSharedLib-64.lib文件所在的目录

然后在C/C++ 常规 附加包含目录中添加三个目录

之后在预处理器的预处理器定义中添加以下内容

WIN32NDEBUG_CONSOLENON_MATLAB_PARSINGMAX_EXT_API_CONNECTIONS=255DO_NOT_USE_SHARED_MEMORY_CRT_SECURE_NO_WARNINGS

备注:如果报shared memory错误的话就添加DO_NOT_USE_SHARED_MEMORY,如果报fopen错误的话就添加_CRT_SECURE_NO_WARNINGS,否则无需添加。

再将输出文件的对象文件名改为$(IntDir)%(RelativeDir)

之后在链接器里的输入 附加依赖项中添加remoteApiSharedLib-64.lib

完成以上操作,vs的环境配置就完成了。

4.VS C++控制 V-REP机械臂

C++测试代码

//#include "stdafx.h"#include <stdio.h>#include <stdlib.h>#include<extApi.h>#include<extApiPlatform.h>#include<extApi.c>#include<extApiPlatform.c>//extern "C" {//#include "extApi.h"//}int main(){int clientID = simxStart("127.0.0.1", 2000, 1, 1, 2000, 5);//printf("clientID is %d", clientID);//getchar();int simRes = simxStartSimulation(clientID, simx_opmode_oneshot); //start simulationprintf("simRes is %d", simxStartSimulation);if (clientID != -1){printf("success");getchar();}else{printf("error");getchar();}return 0;}

在V-REP的scene里添加.ttm文件, 双击子脚本child script中添加simExtRemoteApiStart(2000),2000即为端口号,需与VS源码中对应。

先运行v-rep,然后运行vs,打印success,即通信成功,如果只运行VS,则打印error。

以上是自己这段时间学习vrep做的总结,以便后续查看,在学习过程中参考了以下博主的播客,在此表示感谢!

V-rep与VS C++通信环境配置,远程操控机械臂

V-REP通过C++程序控制仿真

v-rep与vs C/C++通信/联合仿真

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。