Comment inclure une bibliothèque C externe sur Windows

Je suis assez nouveau en C et j’essaye d’inclure une bibliothèque externe sans utiliser aucun IDE, uniquement l’ éditeur de texte et le compilateur minGW sur windows cmd. La bibliothèque est libPNG dans ce cas, j’aimerais vraiment comprendre comment le processus fonctionne non seulement pour cette bibliothèque .

S’il y a une meilleure façon (et plus facile) de le faire, j’aimerais aussi savoir.

Vous avez deux parties à prendre en charge:

  • compilation,
  • mise en relation.

Compilation

Lors de la compilation, lorsque vous transformez des fichiers source en fichiers objects, votre compilateur doit savoir quelles sont les fonctions fournies par la bibliothèque externe.

Vous pouvez déclarer chaque fonction que vous utilisez ou inclure le (s) fichier (s) d’en-tête de bibliothèque dans votre code:

 #incude  

Ce n’est pas assez, vous devrez dire à votre compilateur où il peut trouver ce fichier:

  • -I avec gcc
  • /I avec cl (le compilateur de Visual Studio)

Mise en relation

Dans le processus de liaison, vous réunissez les fichiers object et bibliothèque pour créer un fichier exécutable.

Vous devez dire à l’éditeur de liens

  • quels fichiers il doit utiliser et
  • où trouver le fichier de bibliothèque

Vous indiquez à l’éditeur de liens quels fichiers utiliser avec les options -l , par exemple, -lfoo indiquera de rechercher libfoo.so lib

Remarque: avec cl vous pouvez indiquer quelle bibliothèque utiliser directement dans votre code source avec #pragma comment (lib, "libfoo.lib")

Ajoutez vous spécifiez où avec:

  • -L avec gcc
  • /LIBPATH: avec link (le lieur de Visual Studio)

Vous pouvez également utiliser la liaison dynamic, mais commençons par la première étape.