22 mars 2006

Windows: C++ avec Eclipse, Cygwin et SDL


1. Pourquoi


1.1. SDL
La librairie SDL est destinée au développement d'applications multimédia (en particulier les jeux) ; elle supporte plusieurs systèmes d'exploitation, par exemple Windows et Linux.

1.2. Eclipse
Eclipse est un environnement de développement très largement utilisé, sur lequel est basé IBM Websphere. Il est extensible et possède un plugin nommé CDT permettant de développer en C++.

1.3. Cygwin
Cygwin est une couche d'émulation Unix pour Windows. La plupart des outils GNU, dont le compilateur C++, sont disponibles dans cet environnement.

2. Comment

2.1. Installer Cygwin
Cygwin s'installe très simplement à partir du réseau via un petit exécutable disponible ici. Mieux vaut ne pas utiliser d'espaces dans le répertoire d'installation (par exemple, c:\cygwin). Lors du choix des paquets à installer, il faut sélectionner dans la catégorie Devel gdb, gcc-g++ (ou gcc-mingw-g++), et make. Une fois installé, il est possible de lancer la ligne de commande à partir de l'icône Cygwin Bash Shell.

2.2. Compiler et installer SDL
Les sources de la librairie SDL se téléchargent à partir d'ici (la dernière version à ce jour étant la 1.2.9) ; placez le fichier récupéré (par exemple, SDL-1.2.9.tar.gz) dans un répertoire facilement accessible via cygwin (comme c:\cygwin\usr\src).

Ensuite, placez-vous à partir de la ligne de commande cygwin dans ce répertoire :
cd /usr/src


Décompressez le fichier récupéré:
tar xvzf SDL-1.2.9.tar.gz

Placez-vous dans le répertoire ainsi créé:
cd SDL-1.2.9

Compilez et installez la librairie:
./configure --prefix=/usr/local && make && make install

Et voilà.

Il est nécessaire d'ajouter les chemins des binaires de Cygwin dans les variables d'environnement de Windows. Pour ce faire, allez dans le panneau de configuration de Windows, choisissez Système, Avancé, Variables d'environnement, puis la variable Path. Ajoutez-y
;c:\cygwin\bin;c:\cygwin\usr\local\bin

par exemple, selon le répertoire d'installation de Cygwin.

2.3. Installer le Sun JRE
Eclipse nécessite une machine virtuelle Java pour fonctionner. Si vous n'en avez pas encore installé, il est possible de le faire à partir du site de Sun (la dernière version à ce jour étant la 1.5).

2.4. Installer Eclipse
On peut trouver Eclipse sur le site eclipse.org. Téléchargez Eclipse SDK (la dernière version à ce jour est la 3.2.1). Décompressez-le directement là où vous souhaitez le voir installé (par exemple, dans c:\Program Files\). Il suffira de supprimer le répertoire eclipse créé par la décompression de l'archive pour le désinstaller.
Lancez l'application eclipse.exe à partir de ce dernier.

2.5. Installer le plug-in CDT
Certaines des extensions d'Eclipse sont directement installables à partir du logiciel ; c'est le cas de CDT. Dans Eclipse, cliquez sur Help -> Software updates -> Find and install... Ensuite, sélectionnez Search for new features to install, next, puis Callisto discovery site. Sélectionnez CDT, puis cliquez sur le bouton Select Required. Cliquez sur Finish.

2.6. Configurer Eclipse
Pour indiquer à Eclipse où se trouvent les DLL nécessaires à l'exécution des projets compilés, on peut indiquer leur chemin dans Window -> Preferences..., puis en dépliant C/C++, puis en sélecitonnant Managed Build. Cliquez sur New, sélectionnez Append, indiquez PATH dans la section Name. Ajoutez-y
;c:\cygwin\bin;c:\cygwin\usr\local\bin

(en fonction bien sûr du répertoire d'installation de Cygwin).

3. Programme de test

Vous pouvez maintenant créer un nouveau projet en utilisant le menu File->New->Project..., en dépliant le noeud C++, puis en choisissant Managed Make C++ Project. Ensuite, créez un fichier source avec File->New->Source File, que l'on peut appeler par exemple test.cpp.

Dans Project->Properties, dans l'onglet Tools Settings, ajoutez pour la section GCC C++ Compiler->Directories le répertoire C:\cygwin\usr\local\include ; dans la section GCC C++ Linker->Libraries->Libraries (-l), indiquez SDL. Enfin, dans GCC C++ Linker->Libraries->Library search path (-L), ajoutez C:\cygwin\usr\local\lib.

Copiez ensuite le petit programme suivant dans test.cpp:

#include

int main( int argc, char *argv[ ] )
{
SDL_Surface *screen;
if( SDL_Init(SDL_INIT_VIDEO) <>
{
printf( "Can't init SDL: %s\n", SDL_GetError( ) );
return(1);
}

screen = SDL_SetVideoMode(640, 480, 16, SDL_HWSURFACE);

if( screen == NULL )
{
printf( "Can't set video mode: %s\n", SDL_GetError());
SDL_Quit();
return(1);
}

SDL_Delay( 3000 );
SDL_Quit();

return 0;
}

pour le lancer, cliquez droit dans le menu Run->Run... afin de sélectionner New ; cliquez sur Search Project, pour sélectionner l'exécutable. Enfin, cliquez sur Run.

Si tout a bien fonctionné, une petite fenêtre noire devrait apparaître pendant quelques secondes.

4. Aller plus loin

SDL dispose de nombreux tutoriaux, dont celui-ci (en Français) ou celui-là (en Anglais).

5. Références

Tutorial Eclipse, C/C++ et SDL (Windows) en Espagnol

Page de tutoriaux sur le site officiel de SDL

Libellés : ,


Commentaires:
Pour Cygwin ils sont à la bourre sur la version de gcc c'est 3.4.x alors que sur linux (& Mac) c'est 4.0 depuis quelques temps déjà. Sinon trucs fun c'est de retrouver tous les outils gnu, type ls,mv,rm etc, dans le shell windows.

Cadeau bonux si vous cherchez un bon plugin ecvlipse pour éditer du xml http://xmlbuddy.com/ ;)
 
Ce commentaire a été supprimé par un administrateur du blog.
 
Enregistrer un commentaire



<< Home

This page is powered by Blogger. Isn't yours?