1. gcovr, googletest, CTest installation
brew install cmake gcovr googletest
xcode-select --install
# install cmake, if not installed it's needed
brew install cmake- ❌ Clang must be installed on your device
- macos : Apple clang version 17.0.0 (clang-1700.0.13.5)
- linux : soon
- windows : maybe soon
-
v1 charger un labyrinthe a partir d'un fichier txt
-
v1 algorithme de parcours du labyrinthe pour trouver la sortie (créer le chemin solution)
-
v2 maze generation with (DFS or others)
-
v2 use renforcement learning ti found the exit
-
v1 ecrire et enregistrer les données dans un fichier txt de sortie
- v2 CTest et googletest pour la réalisation de tests proprement (y compris les tests intrinseques au langage)
- lorsque le nombre de cases est supèrieur a 9 le numéro des cases sera décalé par rapport a la colonne qui sera affiché (pour résoudre le probème il faudrait passer a un affichage sur 2 caractère mais rajouterait des contraintes sur les conditions d'affichage (affichage double))
run file with sh presets with settings (be carefull you can only compile with all parameters with the file that include all things we need)
in mazer/main/
./run # to execute the programm
./test # compile tests
./run_test # run compiled tests
./gcovr # run gcovr using specific settings in the projectcomparison
CROSS = cross platforms (1 code for all platforms)
- libunwind [CROSS 1 CODE]
- glib (GLib) (GTK) [CROSS 1 CODE]
- Boost.Stacktrace [CROSS 1 CODE]
- addr2line + backtrace (POSIX)
Note
we will compare only the code that doesn't change
across platforms for the dedicated Library used
(except if it change just a bit with minor changes)
- Boost.StackTrace
Boost.StackTrace : https://www.boost.org/doc/libs/master/doc/html/stacktrace/getting_started.html
- eazy to understand, to use
- good, clear documentation with examples
| Solution | unique code | Portable | Précision (lines/files) | Complexity |
|---|---|---|---|---|
| Boost.Stacktrace | yes | ★★★★★ | ★★★★★ | weak |
| libunwind + wrapper | yes* | ★★★★★ | ★★★★★ | Average |
| GLib | yes | ★★★★☆ | ★★★☆☆ | weak |
| addr2line + backtrace | no | ★★★☆☆ | ★★★★☆ | High |
| Cpptrace | yes | ★★★★★ | ★★★★☆ | weak |
* : his API and his implementation change a bit depending on the platform
