ros :: init(...)抛出错误 - Windows roscpp

时间:2014-02-23 22:47:09

标签: windows definition init ros

我正在尝试在Visual Studio 2012中使用cpp中的ros。我编写了发布者和订阅者教程(http://wiki.ros.org/ROS/Tutorials/WritingPublisherSubscriber%28c%2B%2B%29),首先,我按照指南(http://wiki.ros.org/win_ros/hydro/Msvc%20SDK%20Projects)中的说明配置项目

然后我编译了一个链接的发布者,但是当我尝试运行它时,ros :: init(argc,argv,“talker”)抛出一个异常......控制台说我没有定义ROS_MASTER_URI但是我'已定义

这里有2张图片: https://www.dropbox.com/s/o12m0l38gaxiugi/error1.png - https://www.dropbox.com/s/ocdmf0wj6rj0962/error.png

任何人都可以帮助我吗?

提前致谢

1 个答案:

答案 0 :(得分:2)

所以,我有同样的问题,虽然我没有在全球范围内设置ROS_MASTER_URI

我设法通过添加

解决了这个具体问题
ROS_MASTER_URI=http://localhost:11311

调试环境变量(Project-> Properties-> Configuration Properties-> Debugging-> Environment)。

然而,在实施上述内容后,我得到了一个未被捕获的异常(Unhandled exception at 0x768bc41f in ros_demo.exe: Microsoft C++ exception: std::bad_alloc at memory location 0x0028f0e4..)。

当我以发布模式(与我的ROS SDK构建相匹配)构建,编译和运行项目时,它就消失了。

我从here获得了发布/调试版本的想法:

  

xstring不是OSG特定的对象,所以错误在其他地方   第三方依赖链。因为我对你的操作系统一无所知   软件设置我无法推测这可能是什么。

     

一般来说,这种类型的错误很可能是一个链接问题 -   例如,Visual Studio在处理不同的lib时毫无希望   正在构建调试和释放,并将随机崩溃。

发现这很有趣......