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

Caml Discussion :

Impossible de compiler : /usr/bin/ld: cannot find -lSDL


Sujet :

Caml

  1. #1
    Membre averti
    Avatar de Heavy Metal Hero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2007
    Messages : 152
    Points : 333
    Points
    333
    Billets dans le blog
    13
    Par défaut Impossible de compiler : /usr/bin/ld: cannot find -lSDL
    Bonjour,
    Je dois programmer une application avec ocaml, en utilisant lablgtk et SDL. J'ai donc installé ocaml, emacs (il n' y a pas de problème de ce côté là), puis les librairies soit :
    ocaml-SDL.i686
    ocaml-SDL-devel.i686
    ocaml-lablgtk-devel.i686
    ocaml-lablgtk.i686

    En fait j'ai commencé à programer sur les ordinateurs de mon école, le projet n'a pour le moment aucun bug. Je voudrais le continuer chez moi, mais là, le code source ne compile pas et j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ocamlopt -I +lablgtk2 -I +sdl lablgtk.cmxa bigarray.cmxa sdl.cmxa sdlloader.cmxa outline.ml sampling.ml badaboum.ml -o badaboum 
    /usr/bin/ld: cannot find -lSDL
    collect2: ld a retourné 1 code d'état d'exécution
    File "caml_startup", line 1, characters 0-1:
    Error: Error during linking
    make: *** [badaboum] Erreur 2
    Voici mon makefile (très basique) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    OCAML=ocamlopt
    OCAMLFLAGS= -I +sdl
    OCAMLLD= bigarray.cmxa sdl.cmxa sdlloader.cmxa
     
    badaboum: badaboum.ml sampling.ml outline.ml
    	ocamlopt -I +lablgtk2 -I +sdl lablgtk.cmxa bigarray.cmxa sdl.cmxa sdlloader.cmxa outline.ml sampling.ml badaboum.ml -o badaboum 
     
     
    clean::
    	rm -f *~ *.o *.cm? badaboum
    Je ne vois pas du tout ce qu'il faut faire, est ce que je dois installer quelque chose ? ou alors il y a un fichier de configuration à modifier ?
    Merci de votre réponse

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    832
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 832
    Points : 1 104
    Points
    1 104
    Par défaut
    Ocaml-SDL apporte un pont entre la bibliothèque SDL (écrite en C) et le langage OCaml. Quand on compile un programme qui l'utilise, il a besoin d'accéder (au moment de l'édition de liens) aux binaires de la bibliothèque SDL sur ton système. Le message d'erreur dit qu'il ne trouve pas cette bibliothèque (donc la partie C).

    Soit tu n'as pas installé la SDL (mais c'est curieux puisque normalement le paquet OCaml-SDL, sur ton système (que je ne connais pas puisque tu n'as pas donné assez d'information à ce sujet : système d'exploitation, distribution, méthode d'installation des paquets), devrait dépendre des paquets SDL généraux), soit elle a été installée à un autre endroit et le lieur ne la trouve pas.

    Dans tous les cas c'est un problème au niveau de ton système et la façon dont il a installé la bibliothèque SDL et le paquet OCaml-SDL. Difficile d'en dire plus sans plus d'informations.

  3. #3
    Membre averti
    Avatar de Heavy Metal Hero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2007
    Messages : 152
    Points : 333
    Points
    333
    Billets dans le blog
    13
    Par défaut
    Je suis sous Fedora 15 et j'ai installé les paquets SDL en console avec yum. Pour être très précis je me suis mis en mode root, j'ai tapé yum search SDL, la liste des installations pour sdl est apparue et j'ai fais :

    yum install ocaml-SDL.i686
    et yum install ocaml-SDL-devel.i686

    J'ai cependant installé il y a un instant SDL_image-devel.i686, SDL-devel.i686 et depuis mon code compile ! Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur compilation "/usr/bin/ld: cannot find -lpulse-mainloop-glib"
    Par skwateur dans le forum Administration système
    Réponses: 0
    Dernier message: 17/05/2012, 07h31
  2. /usr/bin/ld: cannot find -lXext
    Par yvesall dans le forum Autres éditeurs
    Réponses: 6
    Dernier message: 05/11/2011, 13h01
  3. /usr/bin/ld: cannot find -lX11
    Par Michaël dans le forum Administration système
    Réponses: 6
    Dernier message: 10/03/2008, 16h13
  4. [Makefile] GCC sous Linux : /usr/bin/ld: cannot find -lsocket
    Par erroneus dans le forum Systèmes de compilation
    Réponses: 1
    Dernier message: 25/05/2007, 16h26
  5. /usr/bin/ld: cannot find -lGLU
    Par Instant dans le forum Linux
    Réponses: 1
    Dernier message: 30/04/2006, 16h14

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