Overview

  • Uses windows sdk 7.1
  • Compiles with cmake/nmake.
  • Compiles in Release mode with Debug Symbols (.pdb files)
  • Currently 32 bit support, 64 bit shouldn't be a big leap...

Preparation

PreRequisites

WinRos Build Script

> mkdir C:\work
> cd C:\work
> wget --no-check-certificate https://raw.github.com/stonier/win_ros/master/msvc/msvc_sdk/scripts/fuerte/winros.bat

Check that the variables in C:\work\winros.bat are appropriate (defaults should work). It is also a good idea to look inside to see what is actually going on.

Build and Install

Sources

  • Install sources into C:\work\sdk and patch.

  • /!\ If you want to download the latest sources, change the BUILD variable to unstable in winros.bat (ymmv).

> cd C:\work
> winros sdk download 
  • /!\ If no rosinstall is found, redo win_rosinstall - there was a recent change for v0.6.17.

  • Confirm that C:\work\sdk\setup.bat looks ok.

Importantly, note that it calls the windows compiler environment at the end - this can be used to modify whether you are using debug/release c/c++ libs and whether you are compiling for x86 or x64.

Build

# CMake configure step
> winros sdk configure
# Compile step via nmake
> winros sdk build

Note that you can selectively build specific package targets while developing. e.g.

# Core libraries and test programs
> cd C:\work\build_sdk\win_ros\tutorials\win_roscpp_tutorials
> nmake
# Messages
> cd C:\work\build_sdk\common_msgs
> nmake
# Runtime executables (rosmaster, rostopic etc)
> cd C:\work\build_sdk\win_ros\msvc\msvc_runtime
> nmake

Binaries, dll's, libs, headers are scattered throughout the build and source directories - you can run and test inside this buildspace but if you want to use the libs/headers separately, the easiest way to gather these together is via the install step (again, refer to the Install section further down).

Usage

In three separate shells:

> call C:\work\build_sdk\env.bat
> roscore

> call C:\work\build_sdk\env.bat
> roslaunch msvc_runtime talker.launch

> call C:\work\build_sdk\env.bat
> roslaunch msvc_runtime listener.launch

Install Environment

Installation

By default, this will install to C:\opt\ros\fuerte\x86. See winros.bat if you want to modify the install location. The following just runs nmake install in the build directory.

> winros sdk install

Usage

In three separate shells:

> call C:\opt\ros\fuerte\x86\env.bat
> roscore

> call C:\opt\ros\fuerte\x86\env.bat
> roslaunch msvc_runtime talker.launch

> call C:\opt\ros\fuerte\x86\env.bat
> roslaunch msvc_runtime listener.launch

Console

{i} Console is not necessary, but it's alot nicer than the windows command prompt.

  • Create some new tabs (Edit->Settings->Tabs) with names Catkin, Build and Runtime.

  • In each tab, use the following command for the Shell:

cmd /k C:\work\sdk\setup.bat
cmd /k C:\work\build_sdk\env.bat
cmd /k C:\opt\ros\fuerte\x86\env.bat
  • Create desktop shortcuts with target:

_path_to_console_\console\Console.exe -t "Catkin"
_path_to_console_\console\Console.exe -t "Build"
_path_to_console_\console\Console.exe -t "Runtime"

Wiki: win_ros/Msvc Build Environment - Fuerte (last edited 2012-07-18 06:14:53 by DanielStonier)