现在越来越多的仿真器开始使用Unreal,但是几乎所有人在和ROS通讯时都是在中间套了一层,几乎没有人直接和ROS通讯的,而且Ros Bridge那个东西性能也着实不行。

于是我就在寻思能不能把Ros直接编译到Unreal里,可是遇到了一个问题,Unreal为了躲避GPL使用了Clanglibc++,甚至还是静态链接的abi。而ROS的预编译版本全都是基于libstdc++ 的。虽然UnrealBuildTools里装模做样地留了一些有关GCClibstdc++ 的代码,但是已经是不知道是什么北京猿人生活时期的代码了,已经完全不能使用。网上也找不到任何文明发展后的有做过类似的事情的人,只能找到一份看起来像是石器时代的gist

那就自己来呗,反正下载SDK的时候也内置了编译器和标准库。但是有碰到了一个很傻逼的问题,Unreallibc++是静态链接的,而ROS还需要开启异常和RTTI ,这就很操蛋了,我尝试了各种方法,但是总死在把第一个string传参进函数的时候。后来想通了既然都已经改了这么多为什么不把ROS整个丢进去呢。于是在大刀阔斧的修改下有了这儿一个东西。

https://github.com/Andor233/RosInUnreal

希望可以帮到大家

C++什么时候才能把module用起来啊