Voici comment compiler manuellement du code C sous Linux sans outils de construction supplémentaires :
gcc -s -O2 -o prog -I. -Iincludedir1 -Iincludedir2 -Llibdir1 -Llibdir2 code1.c code2.c -luse1 -luse2
Cependant, si votre projet est plus grand que quelques fichiers, vous pouvez utiliser un outil de construction à la place (comme CMake, voir la réponse d'OregonGhost) pour automatiser la compilation de nombreux fichiers et la rendre incrémentale. Si vous utilisez un outil de construction, il exécutera gcc sous le capot, avec les mêmes arguments que ci-dessus. Il est utile de comprendre les arguments ci-dessus, afin de pouvoir dépanner si votre compilation automatique échoue.
Ceci compilera code1.c et code2.c en programme binaire exécutable, chargera les fichiers .h depuis ., includedir1 et includedir2, chargera les bibliothèques (par exemple libuse1.so* et libuse2.so*) depuis les répertoires libdir1 et libdir2, utilisera les bibliothèques use1 (correspondant au nom de fichier libuse1.so*) et use2.
Si vous obtenez des erreurs de symboles non définis dans vos fichiers .c, vous devez spécifier plus de -I
drapeaux. Si vous obtenez des erreurs de symbole non défini dans le fichier .o, vous devez spécifier plus de -l
drapeaux. Si vous obtenez cannot find -l...
vous devez spécifier plus de -L
drapeaux.