Aller au contenu

[Perl] Ajouter la librairie SDL. Comment ?


Dooophy

Messages recommandés

Bonjour à tous,

CONTEXTE

Je réalise actuellement un projet de control d'un robot via un réseau WIFI établi entre le robot et un portable. Un joystick est branché en USB sur le portable. Le robot est donc controlé par le joystick.

Une distribution Fedora est installé sur le robot et sur le portable.

La partie control du robot par le joystick a déjà était implémentée en Perl, mais je dois faire passer le portable sous M$ Windows. Je dois donc porter l'application deja en place.

Il me parait évident qu'il faut que je conserve un maximum de choses déjà établies (toute la programmation en Perl réalisée et qui fonctionne). J'ai regardé le code déjà tapé, et visiblement il utilise des librairies propres à linux donc forcément, faut que je trouve autre chose. J'me suis donc tourné vers SDL pour pouvoir garder le control du robot avec le joystick.

Mon Probleme

Oui mais voila, j'voudrais faire tout ca en Perl.

J'ai installé :

- ActivePerl 5.8.8.820

- SDL 1.2.11

J'ai également trouvé un SDL_Perl 2.1.2 et un SDL_perl 1.20 (bisarre ces differences de version d'ailleurs). J'ai decompressé les archives, mais je ne parviens pas a les installer.

Il y a des fichiers de tests dans SDL 1.2.11 comme dans le SDL_perl 2.1.2, mais visiblement, la compilation n'est pas possible pour les fichiers perl (.pl). En fait, tout ce qui se trouve dans la 1.20 est du .c, .h et autre fichiers pour de la programmation en C ou C++. J'ai testé en installant Dev-c++, en suivant des tutoriaux (genre sur le siteduzero). Ok, ca fonctionne (le fichier testjoystick.c compile et s'execute)

mais ce qui m'interesse c'est de pouvoir faire tout ca en Perl. Comme dit plus haut, j'trouve un testjoystick.pl dans un repertoire test de 2.1.2 ou dans le 1.20 (comme j'avais trouvé un testjoystick.c dans le repertoire test de SDL 1.2.11), mais voila, je pense que j'ai pas du installer le module SDL_perl, car quand je le lancais, j'obtenais un message "can't open [...] SDL j'sais plus quoi"

Ce que j'ai tenté

J'regarde le README du module SDL_perl 2.1.2 ou je peux lire, entre autre

"Prerequisites:

SDL Perl recommends installing the following libraries available

from http://www.libsdl.org/ prior to installing:

SDL-1.2.6

smpeg-0.4.4

SDL_image-1.2.2

SDL_gfx-2.0.3

SDL_mixer-1.2.5

SDL_net-1.2.4

SDL_ttf-2.0.5

Additionally the following Perl modules should be installed:

Module-Build-0.22

Test-Simple-0.47"

J'me suis dit, ok, j'tente d'installer le module build 0.22

J'recupere donc ce module, j'desarchive, et je regarde le README de ce module. La je vois : taper

" perl Build.PL

Build

Build test

Build install"

alors je m'execute sagement, et la compilation de Build.PL me dit que j'ai pas tout les prérequis pour continuer l'installation. Un probleme de Yaml support (j'regarde vite fait, bon, ca n'a pas l'air tres important... j'ai donc pas installé ce "support), et un probleme de CBuilder C_support... Ca, ca a l'air deja plus chiant. Ils me conseil de jeter un coup d'oeil a ExtUtils-CBuilder

J'ai essayé de recuperer ce nouveau module (j'avoue que j'me demandais si c'était vraiment installable tout ces trucs !!!). Donc rebelote, decompression, README

" perl Makefile.PL

make

make test

make install"

j'compile donc le makefile.PL... ca, ca va, mais make n'est pas une fonction reconnue, donc j'peux pas lancer les 3 lignes suivantes...

Au point ou j'en suis, j'ai tenté d'installer le module "Build" juste au dessus

donc j'tape

build => Ca a l'air d'etre bon

build test => Certains trucs sont pas installé, dû au fait que j'ai pas le YAML Support et que j'ai pas le Cbuilder C_support => installation partielle donc

build install => j'sais pas trop ce qu'il fait, mais ca a l'air de marcher

J'remonte donc a mon module SDL Perl 2.1.2. J'tente la compilation de mon fichier testjoystick.pl, mais maintenant l'erreur est

"can't locate SDL.pm in @INC (@INC contains: c:/Perl/site/lib c:/Perl/lib .) at testjoystick.pl line 11 etc etc..."

(en fait, c'est le meme message d'erreur qu'avant... j'ai donc l'impression de ne rien avoir fait !)

Au point ou j'en étais, j'ai tenté la methode "bourrine". J'ai copié les fichiers qu'il me demandait la où il me le demandait

Donc SDL.pm

SDL_perl.pm

puis autosplit.ix dans auto/SDL

mais la, j'arrive sur

"can't locate loadable object for module SDL_perl in @INC (@INC contains etc...)"

La parole est a vous !

Voila ou j'en suis et j'avoue que j'suis bien perdu et ne sais plus trop vers quoi me tourner (si ce n'est vers des forums comme celui ci !)

J'espere que j'ai été assez clair dans mes propos et que vous, aussi expérimenté que vous etes, pourrez m'aider dans ce debut de projet qui me donne du fil a retordre des les premiers jours/semaines.

Merci d'avance

Dooophy

PS : J'peux fournir le fichier testjoystick.pl si necessaire

Lien vers le commentaire
Partager sur d’autres sites

Pour des raisons de simplicité d'utilisation pour l'utilisateur "de base"...

Les gens sont plus a l'aise quand ils voient un menu démarrer que quand ils sont sous Linux. Mon superviseur veut donc le passer sous Windows... c'est la seule "vraie" raison

donc non, aucun pb technique... si ce n'est que ca m'en pose de devoir faire le portage

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...