Outils pour utilisateurs

Outils du site


allegro:install_netbeans

**Ceci est une ancienne révision du document !** ----

A PCRE internal error occured. This might be caused by a faulty plugin

===== À propos de Netbeans ===== Netbeans est un EDI multilangage et multiplateforme très performant : gestion de projets, coloration syntaxique, auto complétion, ... et qui permet entre autre de compiler un projet en C sur différents hôtes à partir du même poste, et aussi de déboguer sur ce poste le code exécuté sur l'hôte distant. Il est clair que c'est une fonctionnalité très intéressante quand on souhaite produire un code portable et pouvoir le tester sans avoir à changer de poste. Ça évite les décisions du genre : coder sur une architecture d'abord, porter le code ensuite. Netbeans est capable de partager le code via NFS, SMB et SSH mais a besoin dans tous les cas de SSH pour appeler le compilateur. La seule contrainte et que le système distant doit être d'architecture UNIX (GNU/Linux, Solaris, Mac, BSD, ...). Dans ce tutoriel le cas abordé sera un système hôte Windows et un système distant GNU/Linux via SSH uniquement. Pour les autres configurations, référez vous au [[http://netbeans.org/kb/docs/cnd/remotedev-tutorial.html|tutoriel Netbeans (en)]]. ===== Installation et configuration du système hôte : Windows ===== Nous allons installer MinGW, Java puis Netbeans. ==== Installation de MinGW ==== //Note: Si vous avez CodeBlock, vous disposez certainement déjà de MinGW, dans **C:\Program Files\CodeBlocks\MinGW**, si vous avez aussi MSYS et make.exe, passez directement au paragraphe suivant.// Netbeans n'est pas distribué avec un compilateur, vous devez l'installer vous même. Netbeans n'est capable (actuellement à la v7.1.1) que de gérer le compilateur GNU (Cygwin et MinGW) ou des compilateurs exotiques qui ne nous intéressent pas. Comme Cygwin demande un environnement UNIX emulé installé sur la machine de l'utilisateur, on va s'orienter vers [[http://mingw.org/|MinGW]] qui est un port pour windows de la suite GCC. [[http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/mingw-get-inst-20111118/mingw-get-inst-20111118.exe/download|Installateur MinGW]] : Installez au moins le compilateur C et installez **MSYS** (important pour avoir la commande make).\\ Je recommande l'installation dans le répertoire proposé par défaut (**C:\MinGW**) car Netbeans sera alors capable de le détecter. Récupérez Allegro compilé pour MinGW : [[http://static.allegro.cc/file/library/allegro/5.0.5/allegro-5.0.5-mingw-4.5.2.zip|Alleg 5.0.5]] Et extrayez-le à la racine de votre disque **C:\allegro** ==== Installation de Java ==== Netbeans a besoin de Java pour fonctionner. Si vous ne disposez pas encore de Java (en général présent si vous avez le dossier **C:\Program Files\Java**) installez [[http://www.java.com/fr/|la dernière version du JRE]]. //Facultatif : Vous pouvez télécharger le JDK plutôt que le JRE si vous souhaitez programmer en JAVA.// ==== Installation de Netbeans ==== Rendez-vous sur [[http://netbeans.org/downloads/index.html|la page de téléchargement]], elle propose automatiquement la dernière version de Netbeans. Il existe plusieurs paquets Netbeans : un installateur Windows ou un Zip portable, à vous de voir.\\ De plus après un certain temps (pour traduire) la communauté propose une version en Français. Il existe aussi différentes distributions de Netbeans, en fonction de l'utilisation, le paquet contiendra déjà les modules qui vous intéressent : prenez une version qui contient le module C/C++.\\ Sachez qu'un gestionnaire de greffons est intégré à Netbeans, et que si plus tard vous souhaitez disposer du module PHP par exemple, pas besoin de télécharger la distribution complète, rendez-vous simplement dans le menu **Tools -> Plugins** ==== Installation d'un serveur Xorg ==== Pour afficher le résultat graphique de notre programme exécuté sur le serveur GNU/Linux, on va rediriger les commandes vers notre poste Windows mais il est incapable de les interpréter. On va devoir installer un port du serveur graphique de GNU/Linux sur notre poste de travail. On a deux possibilités : Cygwin ou Xming. === Cygwin == Est un système GNU/Linux émulé complet, il est bien plus qu'un port de Xorg, c'est un port de GNU/Linux sous Windows 8-O.\\ De ce fait, il est assez lourd et demande la connaissance du //shell// pour pouvoir configurer Xorg. Téléchargez et exécutez [[http://cygwin.com/setup.exe]], cliquez sur **Suivant** jusqu'à la fenêtre avec la grande arborescence, sélectionnez pour installation les paquets suivants :\\ xorg-server xinit xhost X-start-menu-icons xterm openssh inetutils mesa-demo\\ //Facultatif : installez aussi **mintty** qui est un terminal natif win32, bien mieux que xterm car il fonctionne sans serveur Xorg.// Dans le menu Démarrer -> "**Cygwin**" -> "**Cygwin Terminal**" ouvre un mintty avec **bash**. <code bash> startxwin.exe xhost.exe + ip.du.serveur.linux </code> Cette commande autorise le serveur distant à utiliser Xorg. === Xming === Est juste un port de Xorg sous Windows.\\ Il est le plus simple à utiliser et le plus léger.\\ [[http://www.straightrunning.com/XmingNotes/]]\\ FIXME le faire ! ===== Installation et configuration du système hôte : GNU/Linux ===== Il faut installer GCC, GDB ainsi que les headers de la libC et des commandes make et cmake.\\ Sous les distribs debian-like les paquets sont **build-essential**, **gdb**, **make** et **cmake**. Il faut installer **sshd**, le serveur SSH.\\ Sous les distribs debian-like c'est le paquet **openssh-server**.\\ On doit éditer le fichier **/etc/ssh/sshd_config** et mettre l'option **X11Forwarding** à //yes//. Sous debian cette option est à yes par défaut. Faites **/etc/init.d/sshd restart** pour prendre en compte la modification. //Facultatif : Nous pouvons créer un utilisateur de connexion pour Netbeans grâce à la commande **adduser**.// Nous allons maintenant installer Allegro. Malheureusement, dans les dépôts de Debian, Allegro est à la version 4.2 :-( on va devoir compiler nous même Allegro en version 5.\\ Néanmoins les dépendances d'Allegro sont à installer via le gestionnaire de paquet :\\ libx11-dev libglut3-dev libxcursor-dev libphysfs-dev libgtk2.0-dev libxrandr-dev libxxf86vm-dev libxpm-dev libalut-dev libpulse-dev libjpeg-dev libpng-dev libfreetype6-dev libogg-dev libvorbis-dev libvorbisfile-dev libflac-dev Téléchargez [[http://sourceforge.net/projects/alleg/files/allegro/5.0.6/allegro-5.0.6.tar.gz/download|l'archive des sources d'Allegro]]. <code bash> tar xzvf allegro*.tar.gz && cd allegro* mkdir build && cd build cmake .. make && make install </code> //Note: vous pouvez installer allegro dans /usr/local avec : cmake -DCMAKE_INSTALL_PREFIX=/usr/local ..// Normalement ça devrait compiler ===== Configuration de Netbeans ===== ==== Ajout de l'hôte ==== Nous allons devoir configurer Netbeans pour compiler sous les 2 OS. Créez un projet C/C++, Netbeans devrait normalement proposer MinGW, sinon il vous demandera où est le compilateur, et il faudra lui indiquer le dossier bin (qui contient entre autres **gcc.exe**). Maintenant sur la gauche de l'interface, vous avez un onglet vertical "**Services**" qui contient une arborescence. Cliquez-droit sur "**C/C++ Build Hosts**" -> "Add New Host...". Renseignez l'ip, puis le login. Le mot de passe vous sera demandé à la première connexion (c'est à dire au clic sur suivant).\\ Netbeans va scanner les dossiers du //PATH// à la recherche des commandes gcc, g++, gdb, make, ... Vous devriez obtenir :{{ :allegro:netbeans_hosts.png?nolink& |}} ==== Configuration du Projet ==== Sur la gauche de l'interface, vous avez un onglet vertical "**Projects**" qui contient une arborescence dont la racine est votre projet.\\ Cliquez-droit dessus -> "**Set Remote Build Host**" vous permet de changer d'hôte, ensuite dans le même menu contextuel, cliquez sur "**Properties**", pour configurer le projet en fonction de l'hôte choisi. === Pour l'hôte local :=== * **Build** -> **C Compiler** -> **Include Directories** : **C:/allegro/include** * **Build** -> **Linker** -> **Additional Library Directories** : **C:/allegro/lib** * **Build** -> **Linker** -> **Libraries** -> **Add Library** : * En **Debug** : **liballegro-5.0.5-monolith-md-debug.a** * En **Release** : **liballegro-5.0.5-monolith-md.a** * Pour les **deux** cibles :\\ **libopengl32.a**\\ **libwinmm.a**\\ **libgdi32.a**\\ **libshlwapi.a**\\ **libpsapi.a**\\ **libole32.a** Nous ne compilons pas en statique car à cause de Direct3D, on est obligé de compiler avec g++ et ça génère pas mal d'erreurs :-( \\ Prenez le [[allegro:install_msvs10#hello_world|helloworld de l'article sur MSVC]], appuyez sur **F11** et si ça compile, c'est fini pour la configuration ! Pour exécuter le programme, il vous faudra 3 dlls :\\ **allegro-5.0.5-monolith-md-debug.dll** dans le répertoire **bin** d'Allegro\\ **libgcc*.dll** et **libstdc++.dll** dans le répertoire **bin** de MinGW === Pour l'hôte distant :=== N'oubliez pas de **changer d'hôte** !! Dans les propriétés de la cible, cliquez sur **Manage Configurations...**\\ Cliquez deux fois sur **New** pour faire apparaître deux nouvelles cible que vous pouvez renommer //Linux_Debug// et //Linux_Release// par exemple. Sélectionner les nouvelles cibles et, si vous avez installé allegro dans **/usr** ou **/usr/local**, il suffit de mettre : * **Build** -> **Linker** -> **Libraries** -> **Add Library** : **allegro** * En **Debug** : **Build** -> **C Compiler** -> **Development Mode** : **Debug** * **Run** -> **Environment** Ajoutez les deux variables suivantes : * **DISPLAY** -> ip.du.poste.windows:0.0 * **LIBGL_ALWAYS_INDIRECT** -> **1** N'oubliez pas de [[allegro:install_netbeans#installation_d_un_serveur_xorg|démarrer votre serveur Xorg]] :!: Appuyez sur **F6** et ça devrait compiler, la fenêtre exécutée à distance s'affiche, tout marche ^_^ Voilà ce que vous devez obtenir (cliquez pour agrandir) : {{ :allegro:netbeans_helloworld.png?direct&200 |}} ==== Débogage à distance ==== Sélectionnez l'hôte distant, dans le helloworld placez un **point d'arrêt** (breakpoint) (en cliquant sur le numéro de ligne dans la gouttière à gauche, c.f. image précédente) à la ligne déclarant la variable **display**. Lancez le débogage (Ctrl+F5) : le programme est envoyé sur le serveur, il est compilé puis **gdb** est contrôlé à distance par Netbeans, il y a plus qu'à cliquer sur //step in// pour avancer dans l'exécution.

allegro/install_netbeans.1331233082.txt.gz · Dernière modification: 2012/03/08 19:58 par mrhide