ROS Electric is EOL, and these instructions for getting it to work on Windows are severely outdated. They are only kept here for historical reasons.
Please do not expect these steps to work, or try to follow them.
For future Windows support, see the relevant ROS2 resources.
We are go! Well, not fully yet, but there is partial functionality and enough to be useful in some situations. To be practical, we are not targeting the windows environment as a full blown replacement for linux-ros as windows doesn't have the mechanisms to handle the scaling of complexity (e.g. rosdeps), but it needs to be useful in some simple use case scenarios. For example,
- Monitoring/debugging/interfacing with ros robots from a remote windows pc.
- Integrating with programs that only utilise windows drivers/libraries.
- Using ros comms to connect ros robots to a much larger networked environment.
- Computationally heavy algorithms running on an idle pc away from the robot.
The current status is still experimental. Various components are working and we hope to start realising some real usefulness with electric. You can check the roadmap to see what's been done and what is on the immediate todo list (if you're interested in helping, contact one of the devs!).
Windows C++ Development
This is for native windows development with the microsoft visual studio compiler (currently supporting visual studio/express 10+).
Msvc SDK - installing, configuring and verifying a pre-built sdk.
Msvc SDK Projects - developing projects with the msvc compiler and the sdk.
Msvc Runtime Environment - rosmaster, roslaunch'ers, rosparam and ros logging with the sdk.
For more advanced usage:
Msvc Build Environment - compiling the sdk/building your packages rosbuild2 style!
Msvc Debugging - debugging msvc and win_ros.
Linux C++ Development
This is for the control roboticists who love working in linux and get flustered when asked to build windows apps for the rest of the world (namely users/test engineers) there is the mingw cross-compiler. There is also qt support here - write the code once and compile your qt app for both windows and linux without any changes.
Mingw Build Environment - setting up the mingw-cross build environment.
Mingw Packages - how to create mingw packages in ros.
Mingw Qt-Ros Packages - how to create mingw qt packages in ros.