RTT 1.x

Compiling on Windows with Visual Studio

This page summarizes how to compile RTT with Microsoft Visual Studio, using the native win32 api. RTT supports Windows out of the box from RTT 1.10.0 and 2.3.0 on. OCL is supported from 1.12.0 and 2.3.0 on.

This tutorial assumes you extracted the Orocos sources and all its dependencies in c:\orocos

For new users, RTT/OCL v2.3.x or later is recommended, included in the Orocos Toolchain v2.3.x.


We only support Visual Studio 2008 and 2005. Support for 2010 is on its way. Click below to read the rest of this post.

RTT on MS Windows

This page collects all the documentation users collected for building and using RTT on Windows. Note that Native Windows support is available from RTT 1.10.0 on, and that you might no longer need some of the proposed workarounds (such as using mingw or cygwin).

The recommended way of compiling the RTT on Windows is by using the Compiling on Windows with Visual Studio instructions.

Developing plugins and toolkits

This is a work in progress and only for RTT 1.x !


Problem: You want to pass custom types between distributed components, be able to see the value(s) of your custom type with in a deployer, and be able to read/write the custom type to/from XML files.

Solution: Develop two plugins that tell Orocos about your custom types.

<!-- break -->


  • The build directory is within the source directory. Click below to read the rest of this post.


For general installation instructions specific to each software version, see the top level wiki page for each project (eg. RTT, KDL, etc) and look for Installation in the left toolbar.

See below for specific additional instructions.

Installing from binaries / package managers

Installing via Macports on Mac OS X

How to build Debian packages

Installing from source

To install from source on *NIX systems such as Linux and Mac OS X, see the installation page specific to your software version (e.g. Click below to read the rest of this post.

Name connections, not ports (aka Orocos' best kept secret)


Problem: How to reuse a component when you need the ports to have different names?

Solution: Name the connection between ports in the deployer. This essentially allows you to rename ports. Unfortunately, this extremely useful feature is not documented anywhere (as of July, 2009). <!-- break -->


  • The build directory is within the source directory.

Simple TCP client using non-periodic component


Problem: You want a component that connects to a remote TCP server, and reads data from it (this example could easily write, instead of reading). This component will block for varying amounts of time when reading.

Solution: Use a non-periodic component. Click below to read the rest of this post.

How to build Debian packages


You want to build debian packages once, so that you can install on multiple machines without building from source on each.


  1. You are building for gnulinux only.
  2. You have "svn-b", etc, alises setup (see "man svn-buildpackage").
  3. You are using Synaptic as your package manager.
  4. Example code is for Orocos v1.8, but also applies to later versions, including 2.x
  5. BASE_DIR is whatever directory you want to put everything into. Click below to read the rest of this post.

RTT 1.x Manuals

Manuals and Source Code Documentation for RTT versions 1.x

Look here for RTT 2.x documentation: Toolchain 2.x reference manuals
"What is Orocos?" ( pdf )
Summary text about what the Orocos Project is and how the Real-Time Toolkit supports it.

Source code

Note: This page only shows OCL versions 1.x. Click below to read the rest of this post.