[Documentation] [TitleIndex] [WordIndex

Rosserial Windows

This package contains Windows-specific extensions required to run rosserial_client on an Windows. It will generate a package of headers and a few cpp files that you will need to add to your Visual Studios project in order to communicate with a ROS system, usually over a TCP socket.

Please see the rosserial_windows/Tutorials for examples of using rosserial_windows

Common Problems

Why is the interface distributed as a code bundle instead of a compiled library and headers?

If rosserial_windows produced a .lib or .dll file, this would have to be compiled either when distributing rosserial_windows or when generating the code bundle. It would also be specific to a particular compiler because of C++ name mangling. Distributing the code only means that you can use any Windows compiler that allows the use of the Winsock2 library.

I'm trying to send a single message, but it doesn't seem to go through. What's wrong?

When rosserial first starts it will try to connect. If that connection isn't made very quickly it will back off and try again after 1.5 s. Messages sent during that time will fail. This should only be the case for the initial connection and not for any messages sent afterwards. This is why the examples use repeated messages.

Precompiled Headers

error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?

Don't use precompiled headers. They break the code generated by rosserial_windows. If you change the cpp files in ros_lib, then you'll have to re-apply that change any time you update ros_lib with new messages. It's by far easiest to turn off precompiled headers in the project properties.


I'm using command line arguments for the hostname of the ROS master. It looks fine in debug, but I get errors connecting. What's going on?

Currently, rosserial does not have wide character support. Change your default character set in your project properties under General from Unicode to "Not Set".

Spaces vs Tabs

Visual Studio 2013 defaults to indenting using tabs. The ROS guidelines are for 2 spaces. To keep things consistent, all of the examples are with 2 spaces. You're welcome to use your editor however you like, but please do not submit code with tabs. See the following page from MSDN for how to set up your Visual Studios environment correctly: Options, Text Editor, All Languages, Tabs

2024-07-13 14:37