This documentation was maintained for diamondback - it is no longer supported and may be somewhat broken! Please move to electric and use the current documentation.
The goal is to run standalone programs without the need for the full ros environment. The application will typically be a remote client to a ros core running on a robot. This is especially useful in a few scenarios, especially where the user isn't guaranteed to be a linux fanatic with a beard.
These apps should be relatively simple and require few dependencies. If they get too complex, managing the dependencies without a ros tree gets difficult and on windows is even further complicated by the lack of rosdep functionality.
To avoid having to package your program and whatever libraries it needs together, the easiest way by far is via a statically cross-compiled mingw program. This leaves you just one .exe you can copy and run on the windows pc - it is as standalone as you can get! Keep in mind this is not an efficient method if you're looking to run a whole suite of statically built programs, but is effective for simple applications.
Since this approach is via the mingw cross-compiler, this is handled by eros. The following walkthrough provides a walk through on how to do this for a qt-ros application. Note that it can be just as easily applied to non qt programs (mingw_cross also packages wxwidgets).