首页 > 其他分享 > 5、开发环境-使用IDE

5、开发环境-使用IDE

时间:2023-07-27 12:11:45浏览次数:32  
标签:环境 PROJECT Webots controller 开发 WEBOTS HOME IDE

一、使用IDE

使用集成开发环境(IDE)很方便,因为它通常具有高级源代码编辑工具、内置调试器等功能。幸运的是,您可以使用自己喜欢的IDE来开发Webots控制器。
Webots可以与任何IDE一起创建、构建和调试机器人控制器。这只是正确设置IDE以使用Webots控制器的构建规则的问题。
为每个操作系统记录每个IDE是很难维护的。因此,这里只记录了其中的一些。它们可以作为其他人的参考。

build规则:

1、目标可执行文件应与控制器目录同名,并严格遵循以下路径:$WEBOTS_PROJECT/controllers/$(controller_name)/$(controller_name)$(EXE_EXTENSION)。

2、应使用Webots控制器库编译、链接和执行可执行文件。因此,应相应地设置多个路径和/或环境变量。

c++

libraries:
- $(WEBOTS_HOME)/lib/controller/$(SL_PREFIX)Controller$(SL_SUFFIX)
- $(WEBOTS_HOME)/lib/controller/$(SL_PREFIX)CppController$(SL_SUFFIX)

includes:
- $(WEBOTS_HOME)/include/controller/cpp

c

libraries:
- $(WEBOTS_HOME)/lib/controller/$(SL_PREFIX)Controller$(SL_SUFFIX)

includes:
- $(WEBOTS_HOME)/include/controller/c

WEBOTS_HOME:是到Webots的路径;

WEBOTS_PROJECT:是到你Webots工程的路径;

CONTROLLER_NAME:是控制器的名字;

EXE_EXTENSION是可执行文件的后缀;

SL_PREFIX:是共享库的前缀,如lib在linux上的;

SL_SUFFIX:共享库的后缀,如.so在linux上的;

PYTHON_VERSION:Python的版本。

某些IDE附带解释器或编译器工具链。它们可能与预编译的Webots控制器库不兼容。在这种情况下,IDE集成可能要复杂得多。例如,这是Visual Studio C++编译器的情况,它与用于预编译C++Webots控制器库的MINGW gcc编译器不兼容。因此,Visual Studio需要自定义说明。

 

Visual Studio、、、、

CMake

CMake是一个跨平台的免费开源软件工具,用于使用独立于编译器的方法管理软件的构建过程。它使用生成器生成本地构建环境,如XCode、CodeBlocks、Sublime Text 2或Eclipse项目。实际构建是在这些环境中处理的。对于Visual Studio目标,请选择上述解决方案。
作为模板,您可以将以下CMakeLists.txt文件复制到控制器目录中。此模板只是一个示例,可能会根据您的CMake目标进行调整。

cmake_minimum_required(VERSION 3.0)

# Setup the project.
# Its name is defined to be the controller directory name.
get_filename_component(PROJECT ${CMAKE_SOURCE_DIR} NAME)
project(${PROJECT})

# Get C or C++ sources in the current directory (only).
file(GLOB C_SOURCES *.c)
file(GLOB CPP_SOURCES *.cpp)
set(SOURCES ${C_SOURCES} ${CPP_SOURCES})

# Set the  Webots home path (change it according to your installation method)
set(WEBOTS_HOME "/usr/local/webots")
#set(WEBOTS_HOME "/snap/webots/current/usr/share/webots")

# Link with the Webots controller library.
link_directories($ENV{WEBOTS_HOME}/lib/controller)
set (LIBRARIES m ${CMAKE_SHARED_LIBRARY_PREFIX}Controller${CMAKE_SHARED_LIBRARY_SUFFIX} ${CMAKE_SHARED_LIBRARY_PREFIX}CppController${CMAKE_SHARED_LIBRARY_SUFFIX})
include_directories($ENV{WEBOTS_HOME}/include/controller/c $ENV{WEBOTS_HOME}/include/controller/cpp)

# Setup the target executable.
add_executable(${PROJECT} ${SOURCES})
target_link_libraries(${PROJECT} ${LIBRARIES})

# Copy the target executable at the right location.
add_custom_command(TARGET ${PROJECT} POST_BUILD COMMAND ${CMAKE_COMMAND} -E
  copy ${CMAKE_BINARY_DIR}/${PROJECT} ${CMAKE_SOURCE_DIR}
)

然后,创建一个build目录,创建本机项目,并在目标IDE中构建它。例如:

# export WEBOTS_HOME=...
cd $WEBOTS_PROJECT/controllers/$CONTROLLER_NAME
# edit CMakeLists.txt
mkdir build
cd build
cmake .. -G "Unix Makefiles"
make

 

标签:环境,PROJECT,Webots,controller,开发,WEBOTS,HOME,IDE
From: https://www.cnblogs.com/gary-guo/p/17584616.html

相关文章

  • 5、开发环境-调试C/C++控制器
    控制器处理在Webots环境中,Webots应用程序和每个机器人C/C++控制器在不同的操作系统进程中执行。例如,当执行“soccer.wbt”世界时,内存中总共有八个进程;一个用于Webots,六个用于六个玩家机器人,一个用于监督机器人。若要使用MicrosoftVisualStudio调试C/C++控制器,请参阅此处。当控......
  • Jupyter Notebook配置conda环境
    一、先创造自己所需的conda环境#进入虚拟环境activatetensorflow#安装jupyter和notebook(这一步可能能省掉,没有测试,不确定)pipinstalljupyternotebook#安装ipykernel,并进行相关操作pipinstall--useripykernel#若想多个环境集成,--user必填。有这个选项后......
  • 通过qemu和docker搭建检查编译环境
    背景在工作中我们经常需要交叉编译一些可执行程序或者动态库,有时要编译的程序过于复杂,如果靠纯的交叉编译,费事又费力,需要解决大量的编译依赖以及报错。解决方案docker+qemu-userqemu-user提供可以运行不同架构的用户态程序的方案,而docker可以帮我们搭建一个运行qemu-user的......
  • windows环境下安装live-server
    一、更换成淘宝的源npmconfigsetregistryhttps://registry.npm.taobao.org验证是否更换成功npmconfiggetregistry–或npminfoexpress二、以管理员身份打开cmd,并运行如下命令npminstall-glive-server三、验证live-server是否安装成功在静态资源的目......
  • 浅谈Excel开发:十 Excel 开发中与线程相关的若干问题
    采用VSTO或者SharedAdd-in等技术开发Excel插件,其实是在与Excel提供的API在打交道,Excel本身的组件大多数都是COM组件,也就是说通过ExcelPIA来与COM进行交互。这其中会存在一些问题,这些问题如果处理不好,通常会导致在运行的时候会抛出难以调试的COM异常,从而导致我们开发出的Excel插......
  • 浅谈Excel开发:三 Excel 对象模型
    前一篇文章介绍了Excel中的菜单系统,在创建完菜单和工具栏之后,就要着手进行功能的开发了。不论您采用何种方式来开发Excel应用程序,了解Excel对象模型尤其重要,这些对象是您与Excel进行交互的基石。据不完全统计,Excel的对象模型中有270多个对象及超过5000多个属性和方法。通过这些对......
  • 浅谈Excel开发:六 Excel 异步自定义函数
    上文介绍了Excel中的自定义函数(UDF),它极大地扩展了Excel插件的功能,使得我们可以将业务逻辑以Excel函数的形式表示,并可以根据这些细粒度的自定义函数,构建各种复杂的分析报表。普通的UDF自定义函数的基本执行逻辑是,Excel接受用户输入的函数表达式,然后通过UDF函数的处理逻辑进行处......
  • 浅谈Excel开发:七 Excel 自定义任务窗体
    前面花了三篇文章讲解了Excel中的UDF函数,RTD函数和异步UDF函数,这些都是Excel开发中的重中之重。本文现在开始接着第二篇文章的菜单系统开始讲解Excel中可供开发的界面元素,本文要讲解的是Excel中的自定义任务面板(CustomeTaskPanel,CTP)。自定义任务面板在Office2003中就引入了......
  • 浅谈Excel开发:八 Excel 项目的安装部署
    前面几篇文章讲解了Excel开发的几个比较主要的也是比较重要的方面,比如菜单系统,Excel对象模型,自定义函数,RTD函数,异步自定义函数,用户自定义任务面板等,在实际开发中我们还会遇到各种“千奇百怪”的问题,以及开发中的一些注意事项和技巧等,后面有空我会写文介绍。当我们的Excel外接应用......
  • 在windows平台使用Visual Studio 2017配置opencv开发环境
    opencv介绍OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和MacOS操作系统上。它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方......