Mémo pour la compilation manuelle en C avec GCC. |
Compilation manuelle en mode console. |
Compilation à partir d’un fichier source.Pour compiler un programme, il suffit d’entrer : gcc -o programme programme.c -o est l’option « output ». Si le nom du programme de sortie n’est pas donné, cgg fournira un fichier éxécutable nommé a.out. On éxécute le fichier compilé en tapant en mode console la commande suivante : Compilation à partir de deux fichiers sources.Il faut compiler séparément chaque fichier source avec l’option –c pour obtenir deux fichiers objets avec l’extension .o. On compile alors les deux fichiers objets pour obtenir un éxécutable. gcc –c programme1.c Créer des bibliothèques C.Il s’agit ici des bibliothèques statiques. Celles-ci sont directement incluses dans le fichier éxécutable. Ces bibliothèque possèdent l’extension .a. Elles se trouvent normalement dans le répertoire /usr/lib/. Soient deux fichiers sources fonction1.c et fonction2.c. On veut créer une bibliothèque incluant ces deux fichiers sources. La bibliothèque s’appellera libperso.a. On compile les deux fichiers sources en fichiers objets : gcc –c fonction1.c fonction2.c On crée la bibliothèque libperso .a : ar r libperso.a fonction1.o fonction2.o On génère un index : ranlib libperso.a On crée maintenant le fichier header libperso.h en y incluant les prototypes des fonctions déclarées dans fonction1.c et fonction2.c. Exemple : libperso.h #ifndef DEF_LIBPERSO Il faut maintenant placer la bibliothèque libperso.a sous le repertoire /lib et le fichier header libperso.h sous le répertoire /include. Pour (enfin ) compiler un fichier source programme.c avec cette bibliothèque, il faut inclure les répertoires précédents /lib et /include avec les options –I (lette i majuscule ) et –L et préciser à l’éditeur de liens d’utiliser libperso.a par l’option –lperso : gcc -I include –L lib programme.c -o programme –lperso le programme s’éxécute en lançant en mode console : . / programme En exemple, j’ai compilé mon jeu MarioFT écrit en C avec la bibliothèque SDL comme ci-dessous : gcc –I include –L lib –o MarioFT main.c constantes.h editeur.c jeu.c regles.c fichier.c -lSDL –lSDLmain –lSDL_image –lfmod ( ! ) heureusement il y a la touche de rappel de ligne de commande en cas d’erreur de compilation …. |
Pages
- A propos
- Engineering
- Le coin micro
- Mes liens
- Projets / Réalisations
- Construction du transceiver Bingo 17m CW de F6BCU.
- Le « PW Severn ».
- Le transceiver QRP 80m de F6BCU.
- Mon 2e Transceiver 145 MHZ FM synthétisé
- Transceiver CW 40m BINGO (F6BCU)
- Un émetteur CW 10 MHz QRP.
- Un générateur 20MHz wobulé.
- Un PA QRP 4 à 6 Watts type F6BCU version 30m.
- Un récepteur de trafic bandes basses. Partie 1
- Un récepteur de trafic bandes basses. Partie 2
- Un transceiver CW 40m QRP 1 Watt.
- Schémas Service
Blogroll
Méta