====== Différences ====== Ci-dessous, les différences entre deux révisions de la page.
allegro:install_netbeans [2012/03/08 20:13] mrhide [Pour finir] |
allegro:install_netbeans [2018/03/01 12:19] (Version actuelle) mrhide Update debian packets allegro5 |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | Ce tutoriel est assez long et compliqué à mettre en œuvre, il demande quelques connaissances du Shell Linux et du développement sous Windows.\\ | ||
+ | Cet article est basé sur un projet Allegro, mais peut fonctionner avec n'importe quel projet C/C++. | ||
+ | |||
===== À propos de Netbeans ===== | ===== À propos de Netbeans ===== | ||
Ligne 13: | Ligne 16: | ||
===== Installation et configuration du système hôte : Windows ===== | ===== Installation et configuration du système hôte : Windows ===== | ||
- | Nous allons installer MinGW, Java puis Netbeans. | + | Nous allons installer MinGW, Java, Netbeans et un serveur Xorg. |
Ligne 26: | Ligne 29: | ||
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. | 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).\\ | + | [[https://sourceforge.net/downloads/mingw|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. | 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]] | + | Récupérez Allegro compilé pour MinGW : [[https://github.com/liballeg/allegro5/releases|Allegro 5.x.x]] |
Et extrayez-le à la racine de votre disque **C:\allegro** | Et extrayez-le à la racine de votre disque **C:\allegro** | ||
==== Installation de Java ==== | ==== Installation de Java ==== | ||
Ligne 52: | Ligne 55: | ||
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. | 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.\\ |
- | + | ||
- | === 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. | 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 :\\ | + | Téléchargez et exécutez setup-x86_64.exe depuis [[http://cygwin.com/install.html]], 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\\ | 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.// | //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**. | + | **Démarrez le serveur X11**, dans le menu Démarrer -> "**Cygwin-X**" -> "**XWin Server**" |
+ | Dans le Xterm qui s'ouvre, tapez : | ||
<code bash> | <code bash> | ||
- | startxwin.exe | ||
xhost.exe + ip.du.serveur.linux | xhost.exe + ip.du.serveur.linux | ||
</code> | </code> | ||
- | Cette commande autorise le serveur distant à utiliser Xorg. | + | Cette commande autorise le serveur distant à utiliser Xorg, il faudra retaper cette commande à chaque lancement de 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 ===== | ===== Installation et configuration du système hôte : GNU/Linux ===== | ||
Ligne 91: | Ligne 84: | ||
Nous allons maintenant installer Allegro. | 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.\\ | + | Sous debian et autres distributions à packages deb, les paquets à installer sont **liballegro5.2 liballegro5-dev liballegro-acodec5.2 liballegro-acodec5-dev liballegro-audio5.2 liballegro-audio5-dev liballegro-dialog5.2 liballegro-dialog5-dev liballegro-image5.2 liballegro-image5-dev liballegro-physfs5.2 liballegro-physfs5-dev liballegro-ttf5.2 liballegro-ttf5-dev liballegro-video5.2 liballegro-video5-dev allegro5-doc** |
- | 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 | + | |
+ | Si votre distribution ne propose pas de paquet pour allegro5, la compilation est aisée. | ||
===== Configuration de Netbeans ===== | ===== Configuration de Netbeans ===== | ||
==== Ajout de l'hôte ==== | ==== Ajout de l'hôte ==== | ||
Ligne 131: | Ligne 110: | ||
* **Build** -> **Linker** -> **Additional Library Directories** : **C:/allegro/lib** | * **Build** -> **Linker** -> **Additional Library Directories** : **C:/allegro/lib** | ||
* **Build** -> **Linker** -> **Libraries** -> **Add Library** : | * **Build** -> **Linker** -> **Libraries** -> **Add Library** : | ||
- | * En **Debug** : **liballegro-5.0.5-monolith-md-debug.a** | + | * En **Debug** : **liballegro-5.0.7-monolith-md-debug.a** |
- | * En **Release** : **liballegro-5.0.5-monolith-md.a** | + | * En **Release** : **liballegro-5.0.7-monolith-md.a** |
* Pour les **deux** cibles :\\ **libopengl32.a**\\ **libwinmm.a**\\ **libgdi32.a**\\ **libshlwapi.a**\\ **libpsapi.a**\\ **libole32.a** | * Pour les **deux** cibles :\\ **libopengl32.a**\\ **libwinmm.a**\\ **libgdi32.a**\\ **libshlwapi.a**\\ **libpsapi.a**\\ **libole32.a** | ||
Ligne 138: | Ligne 117: | ||
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 ! | 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 :\\ | 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\\ | + | **allegro-5.0.7-monolith-md-debug.dll** dans le répertoire **bin** d'Allegro\\ |
**libgcc*.dll** et **libstdc++.dll** dans le répertoire **bin** de MinGW | **libgcc*.dll** et **libstdc++.dll** dans le répertoire **bin** de MinGW | ||
Ligne 154: | Ligne 133: | ||
* **LIBGL_ALWAYS_INDIRECT** -> **1** | * **LIBGL_ALWAYS_INDIRECT** -> **1** | ||
- | N'oubliez pas de [[allegro:install_netbeans#installation_d_un_serveur_xorg|démarrer votre serveur Xorg]] :!: | + | 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 ^_^ | Appuyez sur **F6** et ça devrait compiler, la fenêtre exécutée à distance s'affiche, tout marche ^_^ | ||
Ligne 165: | Ligne 144: | ||
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.\\ | 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.\\ | ||
- | Le résultat graphique est affiché sur votre poste, Tout se fait de manière très simple et très fluide. | + | Le résultat graphique est affiché sur votre écran, Tout se fait de manière très simple et très fluide. Pas besoin de lancer une lourde machine virtuelle ni d'avoir à déplacer les sources, recompiler, et se balader d'une machine à l'autre. |
==== Performances ==== | ==== Performances ==== | ||
Notre système actuel n'est pas très performant, en effet, Allegro utilisant OpenGL, le code est exécuté sur le serveur avant d'être envoyé à notre serveur Xorg.\\ | Notre système actuel n'est pas très performant, en effet, Allegro utilisant OpenGL, le code est exécuté sur le serveur avant d'être envoyé à notre serveur Xorg.\\ | ||
Ligne 178: | Ligne 156: | ||
Si ça ne marche toujours pas, vérifiez votre pare-feu Windows, il bloque certainement les communications externes de Xorg.\\ | Si ça ne marche toujours pas, vérifiez votre pare-feu Windows, il bloque certainement les communications externes de Xorg.\\ | ||
- | Je travaille avec un serveur en Lan, je ne sais pas ce que ça donne avec un serveur internet et un parefeu physique (genre Box internet). | + | Je travaille avec un serveur en Lan, je ne sais pas ce que ça donne avec un serveur internet et un pare-feu physique (genre Box internet). |
=== GDB plante === | === GDB plante === | ||
Si GDB se plaint de ne pas pouvoir contrôler le terminal, dans les propriétés du projet, à **Run**, mettez **Console Type** -> **Standard Output**. | Si GDB se plaint de ne pas pouvoir contrôler le terminal, dans les propriétés du projet, à **Run**, mettez **Console Type** -> **Standard Output**. | ||
+ | === Autres Problèmes === | ||
+ | Si vous rencontrez un problème dont je ne parle pas dans cet article, ou si vous avez une amélioration à me proposer, envoyez-moi un mél\\ | ||
+ | {{:mail.gif?nolink&|}} |