# Documentation de la bibliothèque MLV-0.6.705

- Presentation
- Téléchargement
- Installation
- Compilation
- Exemples
- API
- Liste des fonctions
- bogues
- contacts

# Compiler un programme utilisant MLV sous Windows

Cette page explique comment compiler votre programme de trois façons diférentes:

- la section Compilation à l'aide de Code::Blocks explique comment compiler votre programme avec Code:Blocks qui est un IDE.
- la section Compilation à l'aide de Dev-C++ explique comment le faire avec dev-cpp, un autre IDE.
- la section Options de compilation pour gcc explique quelles sont les options de configurations qu'il faut utiliser pour pouvoir compiler votre programme directement avec gcc.

Si vous ne savez pas quoi choisir, nous vous conseillons de choisir la méthode Compilation à l'aide de Dev-C++ qui est la méthode la plus simple à mettre en oeuvre.

## Compilation à l'aide de Dev-C++

Comencer par installer la bibliothèque MLV avec Dev-C++ en allant à la page : Installer MLV avec Dev-C++.

Éxécutez le programme devcpp.exe et ouvrez les projets concernants les exemples de la bibliothèque MLV ( les exemples se trouvent dans le répertoire : MLV_examples).

Vous pouvez compiler puis éxécuter ces différents projets en utilisant la barre d'icône du programme.

Pour créer votre propre projet, recopiez le répertoire, mon_projet, éditez le fichier mon_projet.dev et adaptez le pour ce que vous voulez faire.

Pour distribuer le programme que vous avez obtenu, il vous suffit de copier le répertoire final_product qui se trouve dans le répertoire de votre projet. Ce répertoire contient toute l'infrastructure nécessaire au bon fonctionnement du programme. Il n'est pas nécessaire d'installer Dec-C++ pour faire fonctionner votre application ainsi crée.

## Compilation à l'aide de Code::Blocks

Comencez par installer la bibliothèque MLV avec Code::Blocks en allant à la page : Installer MLV avec Code:Blocks.

Éxécutez le programme codeblocks.exe et ouvrez les projets concernants les exemples de la bibliothèque MLV ( les exemples se trouvent dans le répertoire : MLV_examples ).

Vous pouvez compiler puis éxécuter ces différents projets en cliquant respectivement sur la roue dentée et le triangle de lecture.

Pour créer votre propre projet, ouvrez le projet situé dans le répertoire, mon_projet. Puis sauvegardez le projet comme un "user template".

Une fois fait, vous pouvez créer un nouveau projet en utilisant ce template. Attention ! Vous devez créer ce projet dans le même répertoire que le répertoire mon_projet !

Si vous voulez créer votre projet dans un nouveau répertoire, alors vous devez recopier intégralement le contenu de mon_projet et le placer dans le nouveau répertoire. Vous pourez alors obtenir votre nouveau projet en utilisant le template créé précédement.

Pour distribuer le programme que vous avez obtenu, il vous suffit de copier le répertoire final_product qui se trouve dans le répertoire de votre projet. Ce répertoire contient toute l'infrastructure nécessaire au bon fonctionnement du programme. Il n'est pas nécessaire d'installer Dec-C++ pour faire fonctionner votre application ainsi crée.

## Options de compilation pour gcc

Dans cette section, nous expliquons comment configurer les options de gcc pour réaliser un compilation avec gcc.

Code::block et Dec-C++ utilisent le compilateur gcc. Ainsi, les expliquations qui vont suivre correspondent aux configurations présentes dans les projets Code:blocks et Dev-C++.

Pour que la compilation de votre programme fonctionne, il faut installer tous les binaries présent dans le paquet mlv-0.6.705-win32.

Dans ce cas, les options de compilation sout les suivantes :

- Pour la compilation :

      -I./include

- Pour les flags de l'édition de liens :

      -L./lib -L./final_product

- Pour les bibliothèques de l'édition de liens :

      -lMLV-0 -lSDL -lmingw32 -lSDLmain ./lib/libmingwex.a

Ainsi, si vous avez écrit un programme demo.c, vous pouvez le compiler en tapant la commande suivante:

    gcc -I./include -Wall -O2 -g -L./lib -L./final_product demo.c -lMLV-0 -lSDL -lmingw32 -lSDLmain ./lib/libmingwex.a -o demo