一、使用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