我正在尝试在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
任何人都可以帮助我吗?
提前致谢
答案 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时毫无希望 正在构建调试和释放,并将随机崩溃。
发现这很有趣......