ros :: init(…)抛出一个错误 – Windows roscpp

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

然后我编译链接发布者,但是当我试图运行它,ros :: init(argc,argv,“talker”)抛出一个exception…控制台说,我没有定义ROS_MASTER_URI,但我已经得到它定义

有两个图像在这里: https : //www.dropbox.com/s/o12m0l38gaxiugi/error1.png – http://img.zgserver.com/windows/error.png

任何人都可以帮我吗?

提前致谢

所以,我有同样的问题,虽然我没有设置全局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版本相匹配)时,这就消失了。

我从这里得到了释放/调试版本的想法:

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

一般来说,虽然这种类型的错误很可能是一个链接问题 – 例如Visual Studio在处理正在构建的不同库的时候是无望的调试和释放,并且会随机崩溃。

这很有趣,发现..