PDA

Voir la version complète : [PSP][Tutorial] Environnement de développement Eclipse + devkitPro + OSLib


Dr.Vince
12/02/2008, 14h32
Introduction

Ce tutorial propose une alternative à l'environnement de développement VisualC++.
La différence majeur (outre le fait que l'on ne va pas utiliser VC++) est que notre environnement utilise devkitPro et que l'on doit donc attendre une mise à jour de celui-ci pour obtenir une nouvelle version de PSPSDK.

Présentons un peu Eclipse.
Eclipse est à l'origine un IDE pour développer en JAVA. Celui-ci est entièrement gratuit et open-source.
Son fonctionnement est assez simple et le nombre de plugins disponibles pour celui-ci est assez impressionnant.
Il est également possible d'intégrer un plugin CVS ou SVN qui fonctionnent à merveille.
Il est également doter d'un gestionnaire de versions locales pour ceux qui ne peuvent avoir accès à un serveur CVS ou SVN.

Installation de devkitPro

Nous allons utiliser ici la méthode la plus simple pour installer devkitPro, c'est à dire en utilisant devkitPro Updater.


Commencez donc par télécharger le dernier Updater:
- depuis le site officiel (http://www.devkitpro.org)
- directement depuis le projet sur sourceforge (http://sourceforge.net/project/showfiles.php?group_id=114505&package_id=160396)


Une fois le fichier devkitProUpdater-x.x.x.exe téléchargé, lancez l'exécution de celui-ci et suivez les étapes en images ci-dessous:

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/devkitpro01.png

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/devkitpro02.png

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/devkitpro03.png

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/devkitpro04.png


:!: Attention, ici il faut sélectionner Custom comme type d'installation et cocher uniquement Minimal system et devkitPSP.


http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/devkitpro05.png

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/devkitpro06.png

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/devkitpro07.png

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/devkitpro08.png


Voilà, devkitPro, ou plutôt devrais-je dire devkitPSP est installé.
Passons maitenant à l'étape suivante: l'installation de OSLib.


Installation d'OSLib

Téléchargez la librairie de notre ami Brunni : OldSchool Library (http://brunni.dev-fr.org/index.php?page=pspsoft_oslib)


Il vous suffit ensuite d'en extraire le contenu n'importe où sur votre ordinateur.
Pour ce tuto j'ai choisi de l'extraire dans le répertoire de devkitPro.


Lancez ensuite l'installeur: C:\devkitPro\OSLib x.xx\Install\Install_devkitpro.bat
:!: Si vous n'avez pas installez devkitPro à la racine de votre lecteur C:, il vous faudra modifier le fichier Install_devkitpro.bat avant de l'exécuter.



Voilà, OSLib est installé.
Passons maitenant à l'étape suivante: l'installation de l'IDE Eclipse.


Installation d'Eclipse



Pour pouvoir utiliser Eclipse, il nous faut installer une JRE Java.
Pour cela, rendez-vous ici: http://java.com/en/download
Télécharger la dernière version et installez-là.


Maintenant nous allons télécharger Eclipse.
Pour cela, rendez-vous ici: http://www.eclipse.org/downloads (http://www.eclipse.org/downloads/)
Il faut télécharger Eclipse IDE for C/C++ Developers.


Ouvrez l'archive zip téléchargée et extraire le répertoire Eclipse où vous voulez sur votre ordinateur (et oui pas besoin d'installation !!) en respectant uniquement la condition suivante: il ne faut pas d'espace dans le chemin vers votre répertoire Eclispe.
Pour ce tuto j'ai choisi de mettre mon répertoire Eclipse dans le répertoire de C:\devPSP\eclipse.
La raison en est extrêmement simple, lorsque vous désinstallez devkitPro, le désinstalleur supprime intégralement le répertoire devkitPro et donc tout ce que vous avez mis dedans.
Il est donc vivement déconseillé d'y mettre autre chose que devkitPro.




Eclipse est installé, facile nan ?
Maintenant passons à la configuration de celui-ci.



Configuration d'Eclipse


Première utilisation


Lancez Eclipse.
Une fenêtre va alors s'afficher vous demandant de sélectionner votre workspace.

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse01.png


Il s'agit d'un espace de travail qui va contenir par la suite tous vos projets.
Voici quelques petits conseils pour le choix de votre workspace
- n'utilisez pas un chemin contenant des espaces
- mettez le de préférence à l'extérieur de votre répertoire eclipse, ce qui permet de le rendre indépendant d'une future mise à jour d'Eclipse.
- une nouvelle fois je vous déconseille de le mettre dans le répertoire devkitPro.
- si vous cochez la case Use this as the default and do not ask again, alors lorsque vous lancerez Eclipse, il ne posera plus la question de la sélection du workspace. Car pour ceux qui ne connaisse pas Eclipse, il est possible d'avoir plusieurs workspace.

J'ai donc choisi de le mettre dans le répertoire C:\devPSP\workspace


Fermez la fenêtre Welcome.


Variable d'environnement

Pour que la compilation s'effectue, il faut rendre visible le fichier psp-config.
Nous allons donc modifier la variable d'environnement PATH de Windows.


Faites Menu démarrer->Panneau de configuration->Système ou plus simplement la combinaison de touches WINDOWS+PAUSE

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse02.png



Puis cliquez sur l'onglet Avancé

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse03.png


Cliquez ensuite sur le bouton Variables d'environnement

Dans Variable Système recherchez la variable Path

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse04.png


Cliquez sur le bouton Modifier

Ajoutez à la fin de Valeur de la variable ceci C:\devkitPro\devkitPSP\bin
:!: Chaque valeur de cette ligne doit être séparée par un point-virgule

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse05.png


Cliquez sur OK, encore OK et une dernière fois OK



Création d'un projet

Nous allons créer ici un projet de test pour vérifier que l'installation s'est bien passé et que nous pouvons compiler un projet.


Faites File->New->C Project

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse06.png


Dans Project name mettez Test

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse07.png


Cliquez sur Finish


Dans le fichier OSLib que vous avez téléchargez précédemment se trouve un répertoire SimpleSample.
Copiez le contenu de ce répertoire.


Sur le nom du projet Clic droit puis Paste

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse08.png

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse09.png



Compilation d'un projet

Commençons par un peu de ménage. Cliquez sur l'icône représentant un dossier barré. Cela permet de masquer les répertoires vides.

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse10.png

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse11.png


Maintenant, ajoutons une target pour nettoyer le projet.

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse12.png

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse13.png


Une autre pour compiler notre projet.

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse14.png


Et une dernière qui nettoie et compile dans la foulée.

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse15.png


Testons le tout en double-cliquant sur la target all

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse16.png


Si tout s'est bien passé vous obtenez les messages suivant dans la console ainsi que le fameux fichier EBOOT.PBP


**** Build of configuration Default for project Test ****

make clean all
rm -f maps.elf main.o PARAM.SFO EBOOT.PBP EBOOT.PBP
psp-gcc -I. -I/c/devkitPro/devkitPSP/psp/sdk/include -G4 -Wall -O2 -D_PSP_FW_VERSION=150 -c -o main.o main.c
psp-gcc -I. -I/c/devkitPro/devkitPSP/psp/sdk/include -G4 -Wall -O2 -D_PSP_FW_VERSION=150 -L. -L/c/devkitPro/devkitPSP/psp/sdk/lib main.o -losl -lmikmod -lpng -lz -lpspsdk -lpspctrl -lpspumd -lpsprtc -lpsppower -lpspgu -lpspaudiolib -lpspaudio -lm -lpspdebug -lpspdisplay -lpspge -lpspctrl -lpspsdk -lc -lpspnet -lpspnet_inet -lpspnet_apctl -lpspnet_resolver -lpsputility -lpspuser -lpspkernel -o maps.elf
psp-fixup-imports maps.elf
mksfo 'Simple OldSchool Library Sample' PARAM.SFO
psp-strip maps.elf -o maps_strip.elf
pack-pbp EBOOT.PBP PARAM.SFO ICON0.png \
NULL NULL NULL \
NULL maps_strip.elf NULL
rm -f maps_strip.elf


http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse17.png



Activation de l'auto-complétion

:!: Ceci sera a effectuer à chaque création d'un nouveau projet :!:


Effectuons un petit test. Ouvrez le fichier main.c

Placez vous n'importe où dans la fonction main, tapez les lettres osl puis CRTL+SPACE

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse18.png


Pas très convaincant...


Clic droit sur votre projet puis Properties

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse19.png

C/C++ General->Paths and symbols


http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse20.png


Cliquez sur Add

Renseignez C:\devkitPro\devkitPSP\psp\sdk\include dans Directory

Cochez la case Add to all languages

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse21.png


Cliquez sur OK

Cliquez encore sur OK

Clic droit sur votre projet ->Index->Rebuild

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse22.png


On recommence notre petit test mais maintenant on obtient ceci:

http://pa.org.free.fr/dr_vince/tutos/eclipse_psp/eclipse23.png





Voilà, c'est terminé !!

Lord Raptor
12/02/2008, 15h59
Merci pour le tuto :fleur:

Yodajr
12/02/2008, 16h56
Merci pour le taff, c'est du beau boulot :)
Tu devrais inclure au début 2 petites lignes sur l'intérêt d'utiliser eclipse, comme ton précédent tuto eclipse ;)

Tembargo
12/02/2008, 16h57
Et bien voilà ce qu'il me fallait pour "travailler" sur mon eclipse du boulot :D

EDIT: En voilà une, d'utilité d'avoir eclipse comme ide ;D

Dr.Vince
12/02/2008, 17h43
c'est fait yoda ;)

j'ai un peu modifier car maintenant on a une version dédiée C/C++.
sinon je rajouterais par la suite une petite présentation des différentes fonctionnalités importantes d'Eclipse comme le gestionnaire de versions locales

Ass-Itch
12/02/2008, 18h31
Me voilà heureux :wub: ;)

Yodajr
12/02/2008, 19h01
Il est également possible d'intégrer un plugin CVS ou SVN qui fonctionne à merveille.
Il est également doté d'un gestionnaire de versions locales pour ceux qui ne peuvent avoir accès à un serveur CVS ou SVN.
Héhé, tu m'avais d'ailleurs promis un petit tuto sur ça aussi :ange:

Quentin
12/02/2008, 19h12
Super !!!!!

Melkior
13/02/2008, 02h05
Tout d’abord bravo à Dr Vince je viens d’essayer et c’est excellent.


Par contre j’ai un peu de mal ( pour pas changer ;)). J’arrive à compiler et à obtenir un EBOOT.PBP. :lol: Le lancement fonctionne sur ma PSP slim 3.71. :bave:

Malheureusement j'ai un message d’erreur après l’affichage du logo. En gros, il ne trouve pas l’image « res/image.png ». :huh:

Au début j’ai pensé à une simple erreur de casse. Le « r » de « Res » étant en majuscule, mais ça n’est pas ça. :cry:

Enfin bref, si quelqu’un voit d’où peut venir le problème, merci d’avance. :D

Toi là haut dans le ciel, oh dieu des jeux video :devil:

Fais que cela ne soit pas un problème de kernel et d'incompatibilité avec les PSP slim :fleur:

Dr.Vince
13/02/2008, 11h18
bah en fait ta question concerne pas trop l'installation de l'environnement

mais as-tu bien copié sur ta MS le répertoire res et son contenu ??

Melkior
14/02/2008, 19h26
Merci docteur, c’était bien ça. :bravo:

J’avais bien pensais à corriger le problème de casse et à mettre les fichiers dans le dossier de la carte, mais pas les deux en même temps :roll1:. Maintenant ça marche. :emoticon_

Combien je vous dois? (on a du la faire plusieurs fois, celle là) :ange:

liberty
21/02/2008, 15h11
Bonjour à tous,

déjà ce tuto est bien sympa, comme je dev aussi sur ds je préfère utiliser devkitpro que cygwin. Un grand merci à Dr.Vince.

Bref mes tests compilent nickel et l'auto-complétion c'est terrible.

Seulement voila je suis peut être un peu maniaque et même si tout marche j'ai un beau warning et j'aime pas trop ça :
Error launching external scanner info generator (gcc -E -P -v -dD C:/devPSP/workspace/.metadata/.plugins/org.eclipse.cdt.make.core/specs.c -O2)


Est ce qu'il y a par la quelqu'un qui sait ce que ca veux dire? et comment y remédier?
Et à quoi sert ce dossier .metadata?

Encore une chose: vu que j'ai pas de câble usb je n'utilise pas de copy2psp.bat, d'ailleurs je ne sais pas si on peux l'utiliser avec Eclipse. je ne sais pas si ça vient de la...

Merci.

Dr.Vince
21/02/2008, 15h22
bon alors pour enlever le message de Warning tu fais:

- bouton droit sur ton projet, puis properties
- ensuite C/C++ Build -> discovery options

et là tu décoche la case Enable generate scanner info command


sinon le dossier .metadata c'est là où eclipse stocke les infos relatives à ton workspace

liberty
21/02/2008, 15h35
Tout bêtement :D

Merci bien!

fiorello
17/06/2008, 01h03
When i click All:

Severity and Description Path Resource Location Creation Time Id
Error launching external scanner info generator (gcc -E -P -v -dD C:/pspdev/workspace/.metadata/.plugins/org.eclipse.cdt.make.core/specs.c) Test Unknown 1213653762046 7

help pls

Dr.Vince
17/06/2008, 01h16
bon alors pour enlever le message de Warning tu fais:

- bouton droit sur ton projet, puis properties
- ensuite C/C++ Build -> discovery options

et là tu décoche la case Enable generate scanner info command


sinon le dossier .metadata c'est là où eclipse stocke les infos relatives à ton workspace

try this

fiorello
17/06/2008, 20h15
Nothing appears now, in console only:


**** Build of configuration Default for project tesss ****


(Exec error:Launching failed)

Dr.Vince
17/06/2008, 20h43
are you sure your devkitpro is correctly installed ??

open a dos window and enter the make command

if it work, do it in your project directory, where your makefile is

fiorello
17/06/2008, 22h06
are you sure your devkitpro is correctly installed ??

open a dos window and enter the make command

if it work, do it in your project directory, where your makefile is

I installed devkitpro from official website, command "make" don't work in cmd in windows

Dr.Vince
17/06/2008, 23h15
do you have this message ? or another ??


make: *** No targets specified and no makefile found. Stop.


if you don't have this message, it's seems that you didn't repect in details my tutorial v_v

fiorello
18/06/2008, 08h46
Never mind, i installed Cygwin :bravo:

Dr.Vince
18/06/2008, 12h46
I also finally installed cygwin because you can debug with it and not with devkitpro