[mini-projet] azuray -- un raycaster avec Azur
Posté le 17/03/2024 23:23
C'est la saison des raycasters en ce moment, et je me suis fait tenter une fois de trop donc j'ai fini par essayer d'en coder un. Le rendu graphique c'est plus drôle que debugger MicroPython (désolé mais facts quoi). Ça a bien tourné et le résultat est raisonnablement utilisable je pense, donc je partage.
Télécharger une démo .g3a
Dépôt Git Lephenixnoir/azuray

Le "mini-projet" dans le titre est pour clarifier que c'est un projet que j'ai commencé sur coup de tête et je n'ai pas l'intention de le pousser plus loin. Je suis toujours là pour debugger ou tirer sur des petites fonctionnalités si des gens s'en servent, mais sinon ça ne bougera plus.
Contrôles pour la démo :
- Flèches pour se déplacer, F1/F2 pour strife
- VARS pour afficher le HUD et les compteurs de performance
- F4, F5, F6 pour se téléporter à quelques endroits prédéterminés
C'est mon délire habituel : prendre un truc raisonnable (un raycaster), le passer sous Azur, et ensuite commit après commit de grattage de cycles jusqu'à ce que ce tout le code qui manipule le moindre pixel soit au milieu d'un gros paquet d'assembleur illisible. Mais d'un autre côté, ça va vite !
Le raycaster est documenté dans
azuray.h et le moteur est séparé de l'exemple, ce qui devrait le rendre vaguement réutilisable si jamais il y a des gens qui voudraient essayer de jouer avec. Notez que je ne l'ai testé
que sur cet exemple par contre, donc je garantis pas que vous arriviez forcément à faire ce que vous voulez avec.
Voilà voilààà, retour à PythonExtra maintenant.
Fichier joint
Citer : Posté le 17/03/2024 23:31 | #
Wow, j'aimerais pouvoir avoir ce genre de distractions ahah.
Bravo, c'est super propre
Citer : Posté le 18/03/2024 10:22 | #
Tu poste pas 6 ou 7 jeux qui utilisent le même exemple mais juste en changeant les textures ? Y'a pourtant un créneau en ce moment
Blague à part, c’est propre ! Par rapport à un raycaster qui tourne pas sous Azur, tu gagnes quoi en perfs à la louche ?
Citer : Posté le 18/03/2024 10:24 | #
J'ai pas tout testé sur le rendu VRAM parce que j'ai transitionné avant d'ajouter les textures transparentes, mais à ce stade j'avais un pire cas d'environ 40 ms par frame (si tu te colles le nez sur un mur) et là avec Azur on descend à ~28 ms pour ce même frame. C'est pas que proportionnel parce que y'a des gains fixes (azrp_update() de base prend 3.5 ms de moins que dupdate() par exemple) mais ça te donne une idée.
Citer : Posté le 18/03/2024 15:01 | #
Modifié le topic parce que manifestement mon moi de 23h30 est dans un monde à part
Citer : Posté le 22/03/2024 15:28 | #
Excellent travail! J'aimerais bien voir ce projet utilisé dans un jeu. Sur ma fx-CG10 j'ai entre 19 et 24 FPS la plupart du temps sans overclock.
Citer : Posté le 09/04/2024 14:44 | #
Note que ça serait un bon interlude dans une @RDP.
Citer : Posté le 12/07/2025 16:04 | #
Hello !
J'ai essayé d'installer azur sur un de mes pc et j'ai cette erreur, alors que j'ai tout update et installer libprof :
/CASIO/Azur# fxsdk build-cg install
[ 10%] Built target num
[ 13%] Building CXX object azur/CMakeFiles/azur.dir/src/gint/init.cpp.obj
In file included from /mnt/c/Bureau/CASIO/Azur/azur/src/gint/init.cpp:3:
/mnt/c/Bureau/CASIO/Azur/azur/include/azur/gint/render.h:38:10: fatal error: gint/prof.h: No such file or directory
38 | #include <gint/prof.h>
| ^~~~~~~~~~~~~
compilation terminated.
make[2]: *** [azur/CMakeFiles/azur.dir/build.make:90: azur/CMakeFiles/azur.dir/src/gint/init.cpp.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:925: azur/CMakeFiles/azur.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
Albert Einstein
Citer : Posté le 12/07/2025 16:06 | #
Passe gint sur dev, libprof a été fusionnée dans gint et y'a quelque décalages (gint a une branche dev mais Azur non)
Citer : Posté le 12/07/2025 16:10 | #
Okay !
Et comment je fais pour passer sur dev avec giteapc ?
Albert Einstein
Citer : Posté le 12/07/2025 16:15 | #
giteapc install gint@dev
Citer : Posté le 12/07/2025 22:11 | #
Re !
J'ai essayé de trouver une solution à ce problème toute l'après midi mais je n'y suis pas arrivé. Je n'arrive pas à comprendre pourquoi il ne trouve pas functional alors qu'il est déjà ajouté à la ligne 7
fxsdk build-cg install
-- Found Gint: TRUE (found suitable version "2.11.0-71", minimum required is "2.8")
-- Found Gint: TRUE (found suitable version "2.11.0-71", minimum required is "2.2.1")
-- Configuring done (1.1s)
-- Generating done (1.4s)
-- Build files have been written to: /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg
[ 10%] Built target num
[ 13%] Building CXX object azur/CMakeFiles/azur.dir/src/gint/init.cpp.obj
In file included from /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/src/gint/init.cpp:6:
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include/azur/azur.h:54:10: error: ‘function’ is not a member of ‘std’
54 | std::function<void(void)> const &render, int render_fps,
| ^~~~~~~~
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include/azur/azur.h:8:1: note: ‘std::function’ is defined in header <functional>’; this is probably fixable by adding ‘#include <functional>’
7 | #include <functional>
+++ |+#include <functional>
8 |
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include/azur/azur.h:54:19: error: expected primary-expression before ‘void’
54 | std::function<void(void)> const &render, int render_fps,
| ^~~~
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include/azur/azur.h:54:46: error: expected primary-expression before ‘int’
54 | std::function<void(void)> const &render, int render_fps,
| ^~~
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include/azur/azur.h:55:10: error: ‘function’ is not a member of ‘std’
55 | std::function<int(void)> const &update, int update_ups,
| ^~~~~~~~
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include/azur/azur.h:55:10: note: ‘std::function’ is defined in header ‘<functional>’; this is probably fixable by adding ‘#include <functional>’
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include/azur/azur.h:55:19: error: expected primary-expression before ‘int’
55 | std::function<int(void)> const &update, int update_ups,
| ^~~
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include/azur/azur.h:55:45: error: expected primary-expression before ‘int’
55 | std::function<int(void)> const &update, int update_ups,
| ^~~
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include/azur/azur.h:56:5: error: expected primary-expression before int’
56 | int flags);
| ^~~
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include/azur/azur.h:56:14: error: expression list treated as compound expression in initializer [-fpermissive]
56 | int flags);
| ^
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/src/gint/init.cpp:53:14: error: ‘int azur_main_loop(void (*)(), int, int (*)(), int, int)’ redeclared as different kind of entity
53 | int flags)
| ^
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include/azur/azur.h:53:5: note: previous declaration ‘int azur_main_loop’
53 | int azur_main_loop(
| ^~~~~~~~~~~~~~
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/src/gint/init.cpp:39:15: warning: ‘ml_time’ defined but not used [-Wunused-variable]
39 | static double ml_time = 0.0;
| ^~~~~~~
make[2]: *** [azur/CMakeFiles/azur.dir/build.make:90: azur/CMakeFiles/azur.dir/src/gint/init.cpp.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:925: azur/CMakeFiles/azur.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
Albert Einstein
Citer : Posté le 12/07/2025 22:19 | #
Hmm ça sent le -ffreestanding cette affaire. La lib C++ a deux "versions", la free-standing (minimaliste) et la hosted. Le fxSDK supporte la hosted, mais si on compile avec -ffreestanding alors le compilateur force la version minimale. Compile avec fxsdk build-cg VERBOSE=1 pour voir les commandes ?
J'ai désactivé -ffreestanding dans le fxSDK y'a des plombes mais il continue de sortir des fois chez d'autres gens, faut que je regarde pourquoi...
Citer : Posté le 12/07/2025 22:23 | #
tiens :
fxsdk build-cg VERBOSE=1
-- The C compiler identification is GNU 14.1.0
-- The CXX compiler identification is GNU 14.1.0
-- The ASM compiler identification is GNU
-- Found assembler: /root/.local/bin/sh-elf-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /root/.local/bin/sh-elf-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /root/.local/bin/sh-elf-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Gint: TRUE (found suitable version "2.11.0-71", minimum required is "2.8")
-- Found Gint: TRUE (found suitable version "2.11.0-71", minimum required is "2.2.1")
-- Found LibProf: /root/.local/share/fxsdk/sysroot/sh3eb-elf/lib/libprof-cg.a (found suitable version "2.4.0", minimum required is "2.4")
-- Configuring done (12.6s)
-- Generating done (1.8s)
-- Build files have been written to: /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg
/usr/local/bin/cmake -S/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur -B/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg --check-build-system CMakeFiles/Makefile.cmake 0
/usr/local/bin/cmake -E cmake_progress_start /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/CMakeFiles /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg//CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make -f libnum/CMakeFiles/num.dir/build.make libnum/CMakeFiles/num.dir/depend
cd /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/libnum /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/libnum /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/libnum/CMakeFiles/num.dir/DependInfo.cmake "--color="
Dependee "/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/libnum/CMakeFiles/num.dir/DependInfo.cmake" is newer than depender "/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/libnum/CMakeFiles/num.dir/depend.internal".
Dependee "/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/libnum/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/libnum/CMakeFiles/num.dir/depend.internal".
Scanning dependencies of target num
make -f libnum/CMakeFiles/num.dir/build.make libnum/CMakeFiles/num.dir/build
[ 2%] Building CXX object libnum/CMakeFiles/num.dir/src/num.cpp.obj
cd /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/libnum && /root/.local/bin/sh-elf-g++ -DFXCG50 -DTARGET_FXCG50 -I/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/libnum/include -I/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/libnum -std=gnu++20 -m4-nofpu -mb -ffreestanding -nostdlib -Wa,--dsp -Wall -Wextra -Os -fmacro-prefix-map=/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/= -fstrict-volatile-bitfields -MD -MT libnum/CMakeFiles/num.dir/src/num.cpp.obj -MF CMakeFiles/num.dir/src/num.cpp.obj.d -o CMakeFiles/num.dir/src/num.cpp.obj -c /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/libnum/src/num.cpp
[ 5%] Building CXX object libnum/CMakeFiles/num.dir/src/str.cpp.obj
cd /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/libnum && /root/.local/bin/sh-elf-g++ -DFXCG50 -DTARGET_FXCG50 -I/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/libnum/include -I/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/libnum -std=gnu++20 -m4-nofpu -mb -ffreestanding -nostdlib -Wa,--dsp -Wall -Wextra -Os -fmacro-prefix-map=/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/= -fstrict-volatile-bitfields -MD -MT libnum/CMakeFiles/num.dir/src/str.cpp.obj -MF CMakeFiles/num.dir/src/str.cpp.obj.d -o CMakeFiles/num.dir/src/str.cpp.obj -c /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/libnum/src/str.cpp
[ 7%] Building ASM object libnum/CMakeFiles/num.dir/src/sh4aldsp/div_i32_i16_i16.s.obj
cd /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/libnum && /root/.local/bin/sh-elf-gcc -DFXCG50 -DTARGET_FXCG50 -I/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/libnum/include -I/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/libnum -m4-nofpu -mb -ffreestanding -nostdlib -Wa,--dsp -Wall -Wextra -Os -fmacro-prefix-map=/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/= -fstrict-volatile-bitfields -o CMakeFiles/num.dir/src/sh4aldsp/div_i32_i16_i16.s.obj -c /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/libnum/src/sh4aldsp/div_i32_i16_i16.s
[ 10%] Linking CXX static library libnum.a
cd /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/libnum && /usr/local/bin/cmake -P CMakeFiles/num.dir/cmake_clean_target.cmake
cd /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/libnum && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/num.dir/link.txt --verbose=1
/root/.local/bin/sh-elf-ar qc libnum.a CMakeFiles/num.dir/src/num.cpp.obj CMakeFiles/num.dir/src/str.cpp.obj CMakeFiles/num.dir/src/sh4aldsp/div_i32_i16_i16.s.obj
/root/.local/bin/sh-elf-ranlib libnum.a
[ 10%] Built target num
make -f azur/CMakeFiles/azur.dir/build.make azur/CMakeFiles/azur.dir/depend
cd /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg && /usr/local/bin/cmake -E cmake_depends "Unix Makefiles" /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/azur /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/azur/CMakeFiles/azur.dir/DependInfo.cmake "--color="
Dependee "/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/azur/CMakeFiles/azur.dir/DependInfo.cmake" is newer than depender "/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/azur/CMakeFiles/azur.dir/depend.internal".
Dependee "/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/azur/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/azur/CMakeFiles/azur.dir/depend.internal".
Scanning dependencies of target azur
make -f azur/CMakeFiles/azur.dir/build.make azur/CMakeFiles/azur.dir/build
[ 13%] Building CXX object azur/CMakeFiles/azur.dir/src/log.cpp.obj
cd /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/azur && /root/.local/bin/sh-elf-g++ -DFXCG50 -DTARGET_FXCG50 -I/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include -I/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/azur/include -std=gnu++20 -m4-nofpu -mb -ffreestanding -nostdlib -Wa,--dsp -Wall -Wextra -Os -fmacro-prefix-map=/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/= -fstrict-volatile-bitfields -MD -MT azur/CMakeFiles/azur.dir/src/log.cpp.obj -MF CMakeFiles/azur.dir/src/log.cpp.obj.d -o CMakeFiles/azur.dir/src/log.cpp.obj -c /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/src/log.cpp
[ 15%] Building CXX object azur/CMakeFiles/azur.dir/src/gint/init.cpp.obj
cd /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/azur && /root/.local/bin/sh-elf-g++ -DFXCG50 -DTARGET_FXCG50 -I/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include -I/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/build-cg/azur/include -std=gnu++20 -m4-nofpu -mb -ffreestanding -nostdlib -Wa,--dsp -Wall -Wextra -Os -fmacro-prefix-map=/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/= -fstrict-volatile-bitfields -MD -MT azur/CMakeFiles/azur.dir/src/gint/init.cpp.obj -MF CMakeFiles/azur.dir/src/gint/init.cpp.obj.d -o CMakeFiles/azur.dir/src/gint/init.cpp.obj -c /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/src/gint/init.cpp
In file included from /mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/src/gint/init.cpp:1:
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include/azur/azur.h:54:10: error: ‘function’ is not a member of ‘std’
54 | std::function<void(void)> const &render, int render_fps,
| ^~~~~~~~
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include/azur/azur.h:8:1: note: ‘std::function’ is defined in header <functional>’; this is probably fixable by adding ‘#include <functional>’
7 | #include <functional>
+++ |+#include <functional>
8 |
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include/azur/azur.h:54:19: error: expected primary-expression before ‘void’
54 | std::function<void(void)> const &render, int render_fps,
| ^~~~
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include/azur/azur.h:54:46: error: expected primary-expression before ‘int’
54 | std::function<void(void)> const &render, int render_fps,
| ^~~
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include/azur/azur.h:55:10: error: ‘function’ is not a member of ‘std’
55 | std::function<int(void)> const &update, int update_ups,
| ^~~~~~~~
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include/azur/azur.h:55:10: note: ‘std::function’ is defined in header ‘<functional>’; this is probably fixable by adding ‘#include <functional>’
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include/azur/azur.h:55:19: error: expected primary-expression before ‘int’
55 | std::function<int(void)> const &update, int update_ups,
| ^~~
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include/azur/azur.h:55:45: error: expected primary-expression before ‘int’
55 | std::function<int(void)> const &update, int update_ups,
| ^~~
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include/azur/azur.h:56:5: error: expected primary-expression before int’
56 | int flags);
| ^~~
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include/azur/azur.h:56:14: error: expression list treated as compound expression in initializer [-fpermissive]
56 | int flags);
| ^
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/src/gint/init.cpp:48:14: error: ‘int azur_main_loop(void (*)(), int, int (*)(), int, int)’ redeclared as different kind of entity
48 | int flags)
| ^
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/include/azur/azur.h:53:5: note: previous declaration ‘int azur_main_loop’
53 | int azur_main_loop(
| ^~~~~~~~~~~~~~
/mnt/c/Users/leofa/OneDrive/Bureau/CASIO/Azur/azur/src/gint/init.cpp:34:15: warning: ‘ml_time’ defined but not used [-Wunused-variable]
34 | static double ml_time = 0.0;
| ^~~~~~~
make[2]: *** [azur/CMakeFiles/azur.dir/build.make:90: azur/CMakeFiles/azur.dir/src/gint/init.cpp.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:925: azur/CMakeFiles/azur.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
Albert Einstein
Citer : Posté le 12/07/2025 22:34 | #
Eh oui il y est. Bah hotfix, ajoute -fno-freestanding aux flags de compil dans CMakeLists.txt
Citer : Posté le 12/07/2025 22:43 | #
Ha ! C'est bon ça marche nickel ! Merci beaucoup !
Albert Einstein