qiBuild documentation

Using qibuild with Aldebaran C++ SDKs

For the Desktop

You can use the C++ packages on Visual Studio 2008 and 2010 (32 bits only), Mac and Linux.

First, get the C++ SDK and extract it, say in /path/to/cpp/sdk

  • Create a worktree inside the C++ SDK examples folder:
$ cd /path/to/cpp/sdk/examples
$ qibuild init
$ qitoolchain create naoqi-sdk /path/to/cpp/sdk/toolchain.xml
  • Create a build configuration associated with the toolchain:
$ qibuild add-config naoqi-sdk --toolchain naoqi-sdk
  • Configure and build the helloworld project:
$ qibuild configure -c naoqi-sdk helloworld
$ qibuild make -c naoqi-sdk helloworld

For the robot

You have to be on Linux or Mac to be able to compile code for the robot.

This if often refer to as cross-compilation.

First, get the cross-toolchain that matches your robot version (atom for V4 and later, geode for previous version), and extract it, say in /path/to/atom/ctc

$ qitoolchain create cross-atom /path/to/ctc/toolchain.xml
  • Create a build configuration associated with the cross-toolchain
$ qibuild add-config cross-atom --toolchain cross-atom
  • Then configure and build as usual
$ qibuild configure -c cross-atom
$ qibuild make -c cross-atom

Troubleshooting

Cannot find alcommon

Could not find module FindALCOMMON.cmake or a configuration file for
package ALCOMMON.

Adjust CMAKE_MODULE_PATH to find FindALCOMMON.cmake or set ALCOMMON_DIR to
the directory containing a CMake configuration file for ALCOMMON. The file
will have one of the following names:

ALCOMMONConfig.cmake
alcommon-config.cmake

This happens because qibuild id not find the CMake files related to ALCOMMON.

This can be because you did not add any toolchain to qibuild You can check with:

qitoolchain info

Output should look like

toolchain naoqi-sdk
  Using feed from /path/to/naoqi-sdk-1.12-linux32/toolchain.xml
  Packages:
    libnaoqi
    in /path/to/naoqi-sdk-1.12-linux32

Here you can see that the toolchain is named naoqi-sdk, so you have to:

  • make sure qibuild uses the naoqi-sdk toolchain by default (you can do that by running the config wizard)
  • or tell qibuild to use the naoqi-sdk toolchain:
$ qibuild configure -c naoqi-sdk
$ qibuild make -c naoqi-sdk