# Real-Time Robotics Framework

### Sidebar

getting_started:compile_eeros

# Compile

## Compile Using a Script

As mentioned in Installation and Setup we suggest to use a script. After having downloaded the code you can now compile EEROS, all necessary hardware libraries, and your application program.
If you do a cross development and your target contains a different processor architecture from your host, you have to choose a suitable tool chain file and also set the build and install directories to meaningful names. E.g. if you develop on a x86 platform for an ARM platform, edit config.sh.in as follows

install_dir="$wd"/install-armhf build_dir="$wd"/build-armhf

toolchain_file="$wd"/toolchainfile/arm-linux-gnueabihf-gcc-4.9.cmake After this you proceed with$ ./make.sh

This will put all the executables into the build directory you have chosen and the compiled libraries together with the header files into the install directory. Please keep in mind that build and install directory are both defined in config.sh.in.

Next, if you are running EEROS on the host machine you can go to the first example Say Hello with EEROS. If you do a cross development on a host and are using it on a target platform you have to Deploy it first.

## Compile Manually in Terminal

Compile and install EEROS to a custom folder as follows:

$cd path/to/working/directory$ mkdir build-eeros-x86-64
$cd build-eeros-x86-64$ cmake -DCMAKE_INSTALL_PREFIX=/absolute/path/to/working/directory/install-x86-64 ..
$make$ make install

If your target architectur is different from the host platform you have to use a tool chain file. For more information see above Compile Using a Script.
Per default, debug information will be included in the code. For maximum efficiency make sure to change the 4th line to:

$cmake -DCMAKE_INSTALL_PREFIX=/absolute/path/to/working/directory/install-x86-64 -DCMAKE_BUILD_TYPE=Release .. We recommend to not install EEROS globally on your system. However, if you want to install it globally you have to execute the following commands:$ make install

The reason for not installing EEROS globally is that you might need two or even more versions as soon as you compile for various target architectures. For this purpose we will install various versions into custom folders named after the target architecture by setting the CMake variable CMAKE_INSTALL_PREFIX.

As soon as you access dedicated hardware on your system you have to install one of the Hardware Libraries. You do this