Development Tools
From GT RoboJackets
All development for the system is done in Standard C++ and compiles with GCC. When using more than standard c++, STL should be the first thought, followed by Qt, and then by third party libraries.
Contents |
CMake
All software components of the system use the CMake build system. Visit the CMake webpage for information about installing and using CMake on your particular system. In most cases a CMake build file, normally called CMakeLists.txt, will already be included with the project, but if you need to create a new one, consult the documentation and other CMake files. The CMakeLists.txt file should be located in the root directory of the project.
Subversion
Subversion is used for all of our source code control. A quick subversion tutorial can be found on our Subversion page.
The robocup subversion repository is: https://svn.robojackets.org/robocup
STL
STL, or Standard Template Library, is an extension to the standard C++ language. It contains such useful classes like the Vector class which can store a variable number of objects of a given type.
Qt Toolkit
The Qt toolkit is used for all GUI and other library functionality non included in a default installation of gcc/c++. Qt version 4.3 or higher is required, but the latest stable version of Qt is preferred.
Eclipse Plugin
Trolltech also has a Qt Eclipse plugin that makes editing and using Qt even easier on various platforms. Check it out at: http://trolltech.com/developer/downloads/qt/eclipse-integration-download
Compiling and GCC
All projects must compile with GCC 4.0 or higher. The general preference is to compile everything into a bin directory located in the root directory of the project.
The general procedure for compilation is:
- Open a terminal.
- Enter the bin directory of the project.
- prompt:$ cmake ../
- This will execute CMake and create a makefile in the bin directory from the CMakeLists.txt file in the root directory
- prompt:$ make
- This will execute make and build the project.
- Run the created executable.
OS
Development and support is provided only for linux based systems. General development is done on a Ubuntu based system but other linux flavors should work just fine as long as the proper versions of libraries and tools is used.