Lénaïc Bagnères, hnc@singularity.fr | bagneres@lri.fr
Ph.D. student, supervised by Cédric Bastoul and Christine Eisenbeis
LRI (Laboratoire de Recherche en Informatique), Équipe Architectures parallèles ParSys
data/header.png
img/32x32/portrait_silhouette.png Main page
img/32x32/kdevelop.png Dev
img/32x32/adjustable_wrench_and_screwdriver.png Tools
img/32x32/erlenmeyer_flask.png Research
img/32x32/graduate_cap.png Teaching
img/32x32/cpp_src.png C++
img/32x32/coin.png Trade
img/32x32/debian.png Debian

img/48x48/adjustable_wrench_and_screwdriver.png Tools

All these tools / software are free (free as in free speech not as in free beer) and free (no-cost).

img/48x48/kdevelop.png IDE & C++

img/32x32/kdevelop.png KDevelop

img/16x16/konqueror.png KDevelop website

img/16x16/wikipedia.png Wikipedia:
KDevelop is a free software integrated development environment (IDE). It supports C, C++, PHP, and Python development, among others. Features: Source code editor with syntax | Project management for different project types, such as Automake, CMake, qmake for Qt based projects and Ant for Java based projects | Class browser | GUI Designer | Front-end for the GNU Compiler Collection and GNU Debugger | Wizards to generate and update class definitions and application framework | Automatic code completion (C/C++) | Built-in Doxygen support | Revision control (also known as SCM) support; supported systems include CVS, Subversion, Perforce, ClearCase, Git, Mercurial, and Bazaar
img/16x16/wikipedia.png Wikipédia:
KDevelop est un environnement de développement intégré (IDE) [...] [qui] gère de nombreux langages et propose des facilités telles que la gestion automatique du projet avec automake [et CMake], l'édition des fichiers d'interface utilisateur (.ui), la création de la documentation du projet. On notera également la possibilité d'accéder facilement à une documentation très complète référencée sur de multiples API, que ce soient celui de GIMP ou de Qt.

Warning: if you have modified environnement variables like C_INCLUDE_PATH, CPLUS_INCLUDE_PATH, LIBRARY_PATH, LD_LIBRARY_PATH, ...; in your ~/.bashrc run kdevelop from a terminal (to source your ~/.bashrc before).

img/32x32/cpp_src.png Compile a C++ project which uses CMake build system

Open KDevelop, Projects, Open / Import Project...
Select the CMakeLists.txt of the your project (the build system is CMake)
Finish, OK

Right clic on your project, Open Configuration...
In Includes/imports tab, Add path where the includes are (in my case, there are in Home, usr, include), Clic on the green +

Run, Configure Launches...
Add New..., Compiled Binary
Executable: new_thoth_project/project
OK
You can "Build" and "Execute" =)

img/32x32/qt_creator.png QT Creator

img/16x16/konqueror.png Qt Creator website

img/16x16/wikipedia.png Wikipedia:
Qt Creator is a cross-platform C++, JavaScript and QML integrated development environment which is part of the SDK for the Qt GUI Application development framework. It includes a visual debugger and an integrated GUI layout and forms designer. The editor's features include syntax highlighting and autocompletion
img/16x16/wikipedia.png Wikipédia:
Qt Creator est un environnement de développement intégré multiplate-forme faisant partie du framework Qt. Il est donc orienté pour la programmation en C++.
Il intègre directement dans l'interface un débogueur, un outil de création d'interfaces graphiques, des outils pour la publication de code sur Git et Mercurial ainsi que la documentation Qt. L'éditeur de texte intégré permet l'autocomplétion ainsi que la coloration syntaxique. Qt Creator utilise sous Linux le compilateur gcc. Il peut utiliser MinGW ou le compilateur de Visual Studio sous Windows.

img/32x32/cpp_src.png Compile a C++ project which uses CMake build system

Warning: if you have modified environnement variables like C_INCLUDE_PATH, CPLUS_INCLUDE_PATH, LIBRARY_PATH, LD_LIBRARY_PATH, ...; in your ~/.bashrc run qtcreator from a terminal (to source your ~/.bashrc before).

Set the path for the CMake executable: Tools, Options, Build & Run, CMake
(In my case the path is /usr/bin/cmake.)

File, Open File or Project
Select the CMakeLists.txt of your project
Next, Run CMake, Finish

You can build and execute =)

img/32x32/code_blocks.png Code::Blocks

img/16x16/konqueror.png Code::Blocks website

img/16x16/wikipedia.png Wikipedia:
Code::Blocks is a free, open source cross-platform IDE which supports multiple compilers including GCC, Clang and Visual C++. It is developed in C++ using wxWidgets as the GUI toolkit. Using a plugin architecture, its capabilities and features are defined by the provided plugins. Currently, Code::Blocks is oriented towards C, C++, and Fortran. It has a custom build system and optional Make support.
img/16x16/wikipedia.png Wikipédia:
Code::Blocks est un environnement de développement intégré libre et multiplate-forme. Il est écrit en C++ grâce à la bibliothèque wxWidgets. Code::Blocks est orienté C et C++, mais il supporte d'autres langages comme le D. Code::Blocks est développé pour Linux, Windows et Mac OS X

img/32x32/cpp_src.png Compile a C++ project which uses CMake build system

Warning: if you have modified environnement variables like C_INCLUDE_PATH, CPLUS_INCLUDE_PATH, LIBRARY_PATH, LD_LIBRARY_PATH, ...; in your ~/.bashrc run codeblocks from a terminal (to source your ~/.bashrc before).

In your project:
Create a build directory:

$ mkdir build
$ cd build

Call cmake on UNIX like system (see below for Windows):

$ cmake .. "-GCodeBlocks - Unix Makefiles"

Call cmake under Windows (see above for UNIX like) (run the command twice):

$ cmake .. "-GCodeBlocks - MinGW Makefiles"
$ cmake .. "-GCodeBlocks - MinGW Makefiles"

Open Code::Blocks, File, Open...
Select the Project.cbp in the build directory of your project
Open

Build, Select target
You can build and execute =)


img/32x32/newspaper.png Other pages:
img/32x16/git.png Git & Gitlab.com (Use Git & Gitlab.com)
img/32x16/cmake.png CMake & C++ (Compile a C++ project using CMake)
img/32x16/kdevelop.png IDE & C++ (Compile a C++ project using a IDE (KDevelop, QTcreator, Code::Blocks))
img/32x16/virtualbox.png VirtualBox (Some .vdi VirtualBox images)
img/32x16/openscop.png PeriScop (OpenScop, Clan, PipLib, Candl, CLooG (with ISL), Clay)