lundi 9 mars 2015

Développer en Langage C avec Eclipse et MinGW

Quelques notes sur l'utilisation de l'environnement MinGW (Minimalist GNU (système d'exploitation constitué de logiciels libres (GNU means "not for unix"))  for Windows). Et l'IDE Eclipse dont la release actuelle est Luna.

Installation d'Eclipse

Il n'y a pas d'installeur pour Eclipse ! Il suffit de dézipper l'archive dans un répertoire. Aussi lorsque la boite de dialogue suivant apparaît :

Démarrage d'Eclipse
Elle indique qu'Eclipse ne peut pas fonctionner sans le Java Development Kit (JDK) et que celui-ci n'a pas été trouvé, il ne vous reste plus qu'à l'installer ...

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Installation du Jave SE Development Kit
Pour moi ce n'a pas été la peine d'ajouter un chemin vers Java dans le path ... Eclipse s'est lancé tout seul comme un grand :

Eclipse Luna - Ecran d'accueil

Installation de MinGW

Allons directement sur le lien de sourceforge : MinGW - Minimalist GNU for Windows
Les dédales du site www.mingw.org sont impénétrables ...

Une fois le mingw-get-setup.exe télécharger les choses commencent, d'abord il va créer une arborescence dans : C:\MinGW\bin et puis envoyer un tas de messages d'alertes, d'erreurs, d'insultes, comme quoi il ne peut pas télécharger les packages ?! Ne pas s'affoler, trouver l'exe dans le répertoire C:\MinGW\bin\mingw-get.exe et relancer tranquillement l'exécutable : mingw-get.exe et l'installation recommence, faire les choix des packages à installer :

Exécutable de configuration de MinGW
C'est l'outil qu'il faut maîtriser pour configurer MinGW.

Mon premier projet MinGW GCC avec Eclipse

Lancer Eclipse : File->New :

Création d'un projet en Langage C avec Eclipse et MinGW
Eclipse création d'un projet en langage C avec MinGW comme compilateur
Evidemment, après, c'est l'erreur, ou l'horreur au choix !

Errors (1 item) - Program "g++" not found in PATH !

Errors : g++ not found in Path !

Sur le sujet, on pourra lire par exemple, la page suivante :
On y préconise entre autre, de faire un reset ... chaque fois que l'on trouve le bouton "Reset defaults", tout un programme.

Pourquoi cela ne fonctionne pas ?

Eclipse est un IDE multi-plateforme, capable d'adresser une multitude de chaînes de compilations.

Imaginez que vous développiez vous même votre compilateur, linker, débugger, vous pourriez l'utiliser avec Eclipse. Mais pour que cela fonctionne, il faut que le tout, Eclipse, MinGW, et tous les autres plugins soient installés correctement. Cela passe par le PATH de chacune des chaines de compilations mais toutes ne sont pas compatibles sur le même poste de développement. Par exemple 

D'abord vous allez découvrir que le projet MinGW est abandonné, même s'il semble vivre encore, une branche est en train de lui couper l'herbe sous le pied c'est MinGW-w64. Donc mingw-get-setup.exe l'installeur hyper compliqué impossible à maîtriser ne doit pas être utilisé ... !?? Lui succède mingw-w64-install.exe. Le problème : cela se ressemble trop.

Vous aurez perdu un temps fou à maîtriser tout cela mais ce ne sera pas totalement perdu car il faut maintenant recommencer avec MinGW-w64 (pour x86, win32 et win64 notez au passage).

Eclipse et MinGW enfin le début d'une solution propre

Utiliser MinGW-w64 au lieu de MinGW :

Comment configurer le Tout !

Installation d'Eclipse

Help->Install New Software->Working with Juno

Eclipse Management Packets

Installation de MinGW-w64

I use here the TDD gcc x64, a well done installer for MinGW64
Et là, je découvre enfin le Graal, un nouvel outils d'installation MinGW-w64 : TDD gss x64 ... je cours l'essayer ... Pour moi cela à fonctionné, mon programme à compilé du premier coup, l'installeur avait ajouté : C:\TDM-GCC-64\bin dans le path, j'ai pu lancer l'exécution en Debug

J'avais un nouveau template de MinGW :

Eclipse Template - MinGW-w64
Et quand j'ai créé mon projet :

MinGW-w34 configuré correctement pour une utilisation avec Eclipse
Au hasard de mes lectures, je trouve cette page :

Informations techniques sur l'installation de l'environnement MinGW 64. C'est un peu technique mais utile s'il on veut en savoir plus.

Error : Toolchain "MinGW GCC" is not detected

Toolchain "MinGW GCC" is not detected. Refer to "C/C++ Development User Guide", "Before you begin" how to install toolchains. 

Vous trouverez le page dans la documentation et là on vous dira d'installer correctement MinGW mais ce n'est pas MinGW-w64 !

Vous avez installé une version de MinGW-w64 par exemple dans : C:\Program Files (x86)\mingw-w64\i686-4.8.2-posix-dwarf-rt_v3-rev4, tout va bien mais il n'y a rien à faire ! MinGW-w64 n'est pas correctement supporté par Eclipse. Le souci c'est, si vous voulez utiliser par exemple MinGW-w64 i 686 v4.8.2 v3 rev 4, vous ne pourrez pas créer de nouveau projet : File->New->C++ Project MinGW GCC n'est pas présent dans la liste. Et pourtant votre projet fonctionne.

J'ai même recopier tout le contenu de C:\Program Files (x86)\mingw-w64\i686-4.8.2-posix-dwarf-rt_v3-rev4\mingw32 dans C:\MinGW cela n'a pas fonctionné ! Il est vrai que lorsque l'on regarde la page suivante qui nous explique l'algo d'Eclipse pour trouver MinGW on n'est pas surpris que cela ne fonctionne pas :

Astuce pour créer un nouveau projet MinGW-w64

Je n'ai rien trouvé de plus brillant, j'ai un MinGW (et non un MinGW-w64) d'installé dans C:\MinGW, je peux alors créer un nouveau projet et lorsque je souhaite utiliser la chaîne de développement MinGW-w64, je renomme le répertoire C:\MinGW en autre chose, tout simplement.

Et puis finalement, j'ai décoché la case "Show porject types and toolchains only if they are supported on the platform" :

Création d'un projet MinGW-w64 avec Eclipse
Et cela à fonctionné.

Cela vous aidé ? Nous ne sommes rémunéré que par la publicité alors n'hésitez pas à cliquer et n'oubliez pas,
Have Fun!

Aucun commentaire:

Enregistrer un commentaire