IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

Ajouter la librairie SDL pour une programmation en Perl. Comment ?


Sujet :

SDL

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Ajouter la librairie SDL pour une programmation en Perl. Comment ?
    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. 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

  2. #2
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 360
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 360
    Points : 20 376
    Points
    20 376
    Par défaut
    Si tu peux via PERL accéder à des fonctions systèmes comme les API win32 ( ex joyGetPos) tu te casseras vraiment moins la tête .
    Mais ce ne sera pas portable
    Moi en tout cas c'est ce que je ferais , un code spécifique Linux, un autre win32....
    Parce qu'avec SDL tout est encapsulé la moindre fonction fait appel à d'autres.
    Tandis qu'avec des fonctions comme cité précedemment un seul appel suffit...

    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. Ok, ca fonctionne (le fichier testjoystick.c compile et s'execute)
    Il se peut au risque de dire des aneries que cela ne soit possible en PERL vu que c'est un langage script et qu'on ne puisse accéder aux fonctions systèmes.
    Sinon c'est pas possible d'appeler une dll dans un script PERL ? Ce serait une solution

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci Mat.M pour ta réponse,

    j'vais jeter un coup d'oeil du coté de "joyGetPos" pour voir ce que c'est...

    En fait, pour l'instant, avec les systemes Linux de part et d'autres, le portable sert de Client et envoie des infos par port UDP
    De l'autre coté, le robot fait serveur et recoit les infos.
    Vu que tout était deja codé, faire juste une p'tite conversion de bibliotheque pour que ca fonctionne sous windows me paraissait le plus simple, mais j'arrive pas a faire marcher cette ù*$^*ù de bibliotheque SDL correctement.

    Pour le .pl que je n'arrivais pas a compiler (a vrai dire, c'était plutot "executer" que j'aurais du dire), c'est vraiment celui specifique au testjoystick.pl (et les autres fichiers de tests), car certains fichiers du type build.pl qui est sensé installé des librairies, ca, ca marche (enfin pour certains)

    Certes, j'suis peut etre pas méga doué pour installer ce genre de chose, mais j'trouve que c'est quand meme pas super facile a faire non ?

    J'vais donc voir si y'a moyen de faire ce qu'il faudrait que je fasse avec le joyGetPos

    Merci
    Dooophy

Discussions similaires

  1. Ajouter un nouveau template pour une Windows Form
    Par Kropernic dans le forum Visual Studio
    Réponses: 1
    Dernier message: 01/08/2012, 15h40
  2. [Turbo Pascal] Unité pour une programmation GUI
    Par darrylsite dans le forum Contribuez
    Réponses: 0
    Dernier message: 01/06/2008, 15h22
  3. Ajouter des variables supplémentaires pour une acp
    Par fafabzh6 dans le forum SAS STAT
    Réponses: 7
    Dernier message: 31/01/2008, 16h31
  4. Réponses: 20
    Dernier message: 31/08/2006, 20h31
  5. Ajouter des librairies externes pour la compilation en C++
    Par Roming22 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 11/07/2005, 10h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo