Version 4 (modified by 6 years ago) ( diff ) | ,
---|
Compile libraries, tools and demos
Compiling all is not really necessary, as everything necessary for development is already compilated in flair_bin repository. It is needed if you did not installed the toolchains in their defaults directories. It can also be used to compile all demos.
For developers on the Framework, it is a good way to check that everything is compiling.
To compile all Fl-AIR stuffs, you can execute the dedicated script:
$ $FLAIR_ROOT/flair-dev/scripts/flair_compile_all.sh
If it is the first time you execute this script, you must answer yes to the question Compile all from scratch. This will create every projects using cmake.
Compilation en mode debug
If you have to debug surprising segfaults (you know what I mean, do you? :D ) you will need to compile your code in debug mode (see below). Then you'll have to activate the core dump generation with
$ ulimit -c unlimited
Then when your program crashes, it will generate a "core" file. Use gdb with your binary as the first parameter (again, compiled in debug mode) and the core file as the second parameter. It should load your program symbols. Then the "bt" command will show the backtrace, which is the sequence of function calls that resulted in the crash, allowing you to know exactly where is the problem.
Full framework
If you want to debug the framework itself, you may find beneficial to compile the full framework in debug mode you need to edit the file
$ /opt/robomap3/<version>/<arch>/toochain.cmake
and add "-g -O0" to the CMAKE_CXX_FLAGS variable. As of this writing, and for an x86 architecture, the file to edit is "/opt/robomap3/2.1.3/core2-64/toolchain.cmake".