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.
This document is slightly outdated.
Using the info here: http://www.mingw.org/old/mingwfaq.shtml#faq-msvcdll
I managed to create DEF files, and use Microsofts LIB tool to turn the library it into something MSVC likes.
I'm no CMake expert, and don't have the time to learn **another** build scripting language, however I created the CMake files in the usual way, built RTT and ensure it compiled cleanly. I hacked the created makefiles by a search of my source tree for "--out-implib" and found that link.txt that lives in build\src\CMakeFiles\orocos-rtt-dynamic_win32.dir had that string in it. So I added the --output-def,..\..\libs\liborocos-rtt-win32.dll.def, to create the def file, and rebuilt RTT, this created the DEF file, I than ran it through the Microsoft LIB tool as described.
I then created a MSVC project, added the library to my linker settings, and made a very simply MSVC console application:
#include "rtt\os\main.h" #include "rtt\rtt-config.h" int ORO_main(int, char**) { return 0; }
I also needed to setup my MSVC preprocessor definitions:
NDEBUG
_CONSOLE
__i386__
__MINGW32__
OROCOS_TARGET=win32
Hopefully I am now at a stage when I can actually start to evaluate RTT :-) If anyone has any ideas on how to properly get the CMakeList.txt to generate the DEF files without nasty post-CMake hacks, then I would love to hear it...
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. You're invited to try VS2010 out and suggest patches to the orocos-dev mailing list.
Orocos does not come with a Visual Studio Solution. You need to generate one using the CMake tool which you can download from http://www.cmake.org. The most important step for CMake is to set the paths to where the dependencies of Orocos are installed. So before you can get to building Orocos, you need to build its dependencies, which don't use CMake, but their own build mechanism.
Only RTT and OCL of the toolchain are supported on Windows. The ruby based 'orogen' and 'typegen' tools, part of the toolchain, are not supported. Also ROS integration is not supported on Windows.
You must have this set as system environment variables:
set ACE_ROOT=c:\orocos\ACE_wrappers set TAO_ROOT=%ACE_ROOT%\tao set PATH=%PATH%;%ACE_ROOT%\bin;%ACE_ROOT%\lib
You can also set these using Configuration -> System -> Advanced -> Environment Variables
We recommend Boost 1.40.0 for Windows. Also, unzip Boost with 7Zip or similar, but not with the default Windows unzip program, which is extremely slow.
Make sure to install these components: program_options, thread, unit_test_framework, filesystem, system.
Also add the lib directory to your PATH system environment variable:
set PATH=%PATH%;c:\orocos\boost_1_40\lib
set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "c:/orocos/boost_1_40;c:/orocos/ACE_wrappers;c:/orocos/ACE_wrappers/TAO;c:/orocos/ACE_wrappers/TAO/orbsvcs") set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "c:/orocos/boost_1_40/lib;c:/orocos/ACE_wrappers/lib")
set( OROCOS_TARGET win32 CACHE STRING "The Operating System target. One of [lxrt gnulinux xenomai macosx win32]")
Start the cmake-gui and set your source and build paths ( For example, c:\orocos\orocos-rtt-1.10.0 and c:\orocos\orocos-rtt-1.10.0\build ). Now click 'Configure' at the bottom. Check that there are no errors. If components are missing, you probably need to fix the above PATHs.
You probably need to click Configure again and then click 'Generate', which will generate your Visual Studio solution and project files in the 'build' directory.
Open the generated solution in MSVS and build the 'ALL_BUILD' target, which will build the RTT (and the unit tests if you enabled them).
The unit tests will fail if the required DLLs are not in your path. In your system settings, or on the command prompt of Windows, add c:\orocos\boost_1_40\lib and c:\orocos\ACE_wrappers\lib to your PATH environment (reboot if necessary).
Next, run a 'make install' and add the c:\orocos\bin directory to your PATH (or whatever you used as install path.) In RTT 2.3.0, the default install path is c:\Program Files\orocos (so add c:\Program Files\orocos\bin to PATH). It is recommended to keep this default, since OCL uses that too.
Now you should be able to run the unit tests. The process could be a bit streamlined more and may be improved in later releases.
There is a separate Wiki page for enabling Readline (tab-completion) in the TaskBrowser. See Taskbrowser with readline on Windows.
This page describes all steps you need to take in order to compile the real-time toolkit on a Windows machine. We rely on the Cygwin libraries and tools to accomplish this. Visual Studio or mingw32 are as of this writing not yet supported. Also CORBA is not yet ported.
cd orocos-rtt; patch -p1 < orocos-rtt-cygwin.patchThe patch can be found here: https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=605
cmake .. -DBOOST=/usr/include/boost-1_33_1 makeThis is a slow process. If you have multiple CPU cores, use 'make -j2' or -jN with N cores. In case you want to change more option, type 'ccmake ..' between the cmake and make commands.
export PATH=$PATH:`pwd`/src