Cette page explique comment compiler un projet C avec une bibliothèque externe en ligne de commande.
Dans la suite, nous prenons l'exemple de trois fichiers, un main.c
et une bibliothèque composée de deux fichiers lib.c
et lib.h
:
project
|- main.c
|- lib
| |-lib.c
| |-lib.h
Notez que cet exemple est basé sur des fichiers .c, mais qu'il fonctionne également avec des fichiers .cpp (orientés objet).
Voici les fichiers sources :
#include "lib.h"
int main() {
fct();
}
#include <stdio.h>
void fct();
#include "lib.h"
void fct() {
printf("This is printed from a function in an external library\n");
}
En supposant que vous vous trouviez dans le dossier racine du projet, la ligne suivante compile l'ensemble du projet :
g++ -o output.exe "main.c" "lib/lib.c" -I "lib"
-o
spécifie le ficher de sortie (i.e. le fichier exécutable, ici output.exe
)"main.c"
et "lib/lib.c"
sont les fichiers source à compiler-I
spécifie le chemin vers les headers (.h
) Voici le résulat:
fifi@~/project$ g++ -o output.exe "main.c" "lib/lib.c" -I "lib"
fifi@~/project$ ./output.exe
This is printed from a function in an external library
fifi@~/project$