之前太懒做记录了,导致很多东西做了又忘,决定之后积极点写笔记!
1.前言
之前一直没找到比较好的windows下的webots和vscode联合仿真教程,踩了挺多坑的,如果觉得有用请点个赞,转载请注明,谢谢!
2.问题根源
webots和vscode联合仿真问题在于,如果写好代码直接使用cmake编译,webots端有可能会控制器崩溃,提示“xxcontroller.exe - 无法找到入口,无法定位程序输入点 __gxx_personality_sj0于动态链接库”(这个报错窗口优先级居然比截屏还高555),同时webots的输出窗口提示“WARNING: wl_controller: The process crashed some time after starting successfully.WARNING: ‘wl_controller’ controller crashed.”
当时我猜测这是由于cmake使用的编译器版本和webots不同(后来验证确实是这样),于是聪明人就想到了(咳咳):
直接使用webots内置的编译器进行cmake编译
3.配置步骤
1.找到webots的mingw目录,确认版本号
我的是Webots\msys64\mingw64\bin,版本为10.2(看官网最新好像才8点几,不懂)
2.在vscode下扫描编译器
先是vscode的
然后cmake插件也扫描
3.在setting.json内添加"cmake.generator": “MinGW Makefiles”
不然会报错找不到generator
4.选择编译器
5.结束
这样就可以使用vscode的cmake插件编译webots的控制器了,如果想要在终端编译需要配置系统变量,原理一样,就不作演示了。