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

文章目录

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

一、Vrep官方用户使用手册

  1. vrep相关中文资料比较少,最好参考官方英文手册
    官方文档连接
  2. 本文使用软件版本
    vrep 3.6.2 64位;vs2015 64位

二、配置vs2015实现联合仿真

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

vs2015使用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: 对象被多次指定;已忽略多余的指定
无法解析的外部符号

这时按照 https://blog.csdn.net/gupar/article/details/52860794
中做法,在工程属性 :C/C++ >> 输出文件 >>对象文件名 把 $(IntDir) 修改为: $(IntDir)%(RelativeDir)
编译即成功。

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

在电脑的系统属性里点击环境变量
vrep与vs2015联合仿真(C/C++)_第1张图片
然后在系统变量中找到Path
vrep与vs2015联合仿真(C/C++)_第2张图片
双击Path后,点击新建,设置remoteAPI.dll文件的目录
vrep与vs2015联合仿真(C/C++)_第3张图片

3.配置vs2015环境

新建一个工程,然后点击工程文件名,右键打开属性页,在VC++目录的库目录中添加remoteApiSharedLib-64.lib文件所在的目录
vrep与vs2015联合仿真(C/C++)_第4张图片
然后在C/C++ 常规 附加包含目录中添加三个目录
vrep与vs2015联合仿真(C/C++)_第5张图片
之后在预处理器的预处理器定义中添加以下内容

WIN32
NDEBUG
_CONSOLE
NON_MATLAB_PARSING
MAX_EXT_API_CONNECTIONS=255
DO_NOT_USE_SHARED_MEMORY
_CRT_SECURE_NO_WARNINGS

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

再将输出文件的对象文件名改为$(IntDir)%(RelativeDir)
vrep与vs2015联合仿真(C/C++)_第6张图片
之后在链接器里的输入 附加依赖项中添加remoteApiSharedLib-64.lib
vrep与vs2015联合仿真(C/C++)_第7张图片
完成以上操作,vs2015的环境配置就完成了。

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

  1. C++测试代码
//#include "stdafx.h"
#include 
#include 
#include
#include
#include
#include


//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 simulation
    printf("simRes is %d", simxStartSimulation);
    if (clientID != -1)
    {
        printf("success");
        getchar();
        
    }
    else
    {
        printf("error");
        getchar();
    }
    return 0;
}
  1. 在V-REP的scene里添加.ttm文件, 双击子脚本child script中添加simExtRemoteApiStart(2000),2000即为端口号,需与VS源码中对应。
    vrep与vs2015联合仿真(C/C++)_第8张图片
  2. 先运行v-rep,然后运行vs,打印success,即通信成功,如果只运行VS,则打印error。
    vrep与vs2015联合仿真(C/C++)_第9张图片

以上是自己这段时间学习vrep做的总结,以便后续查看,在学习过程中参考了以下博主的播客,在此表示感谢!
V-rep与VS2017 C++通信环境配置,远程操控机械臂
V-REP通过C++程序控制仿真
v-rep与vs 2013 C/C++通信/联合仿真

你可能感兴趣的:(vrep教程)