Compilation C++ avec SDL (problème...)

Résolu
Nico -  
 loka -
Salut à tous,

Je suis en train de programmer un jeu en C++, avec la librairie SDL et SDL_Image et SDL_TTF
Je suis sous Linux Ubuntu et j'ai installé les packages concernant ces trois librairies, et SDL.h, SDL_TTF.h et SDL_image.h dont bien dans mon dossier /include/SDL.

Je tape ceci pour compiler:

g++ -o jeu jeu.cpp `sdl-config --cflags --libs`

Le log d'erreur donné par g++ est:

/tmp/ccoonQfA.o: In function `titre(SDL_Surface*)':
jeu.cpp:(.text+0xf50): undefined reference to `TTF_OpenFont'
jeu.cpp:(.text+0xf6d): undefined reference to `TTF_RenderText_Blended'
jeu.cpp:(.text+0x1163): undefined reference to `TTF_CloseFont'
/tmp/ccoonQfA.o: In function `main':
jeu.cpp:(.text+0x11b7): undefined reference to `TTF_Init'
jeu.cpp:(.text+0x128a): undefined reference to `TTF_Quit'
collect2: ld a retourné 1 code d'état d'exécution

Je ne comprends pas pourquoi il me met ces logs, alors que j'ai installé de la même manière SDL_Image et SDL_TTF, or il ne me fait pas de problème pour SDL_Image :s

PS/ Le projet se compilait convenablement sous Windows avec Dev-cpp, quand j'étais encore sous ce système.

Merci à vous!!
Configuration: Linux
Firefox 2.0.0.6

6 réponses

  1. Allergen
     
    -lSDL -lSDL_Image -lSDL_TTF

    mets ca en option de commandes gcc

    ;)
    3
  2. Nico
     
    Hey merci beaucoup!! Super ça marche maintenant!!
    J'ai enfin un joli exécutable qui se présente :)
    0
  3. Nico
     
    Déso j'arrive pas à éditer mon message, voici la commande finale, qui fonctionne :

    g++ -o jeu jeu.cpp -lSDL -lSDL_image -lSDL_ttf

    Encore merci :p
    0
  4. lapin-chasseur
     
    Salut SaNkA-MaN.

    pour tes erreurs => /usr/local/include/SDL/SDL_ttf.h:33:17: erreur: SDL.h : Aucun fichier ou répertoire de ce type
    /usr/local/include/SDL/SDL_ttf.h:34:24: erreur: begin_code.h : Aucun fichier ou répertoire de ce type
    /usr/local/include/SDL/SDL_ttf.h:232:24: erreur: close_code.h : Aucun fichier ou répertoire de ce type

    fait un copier/coller de tes fichiers d'entêtes (begin_code.h ; SDL.h et close_code.h) dans le repertoire /usr/include ou mieux contruit tes directives d'inclusions de cette façons #include "SDL/fichierinclude.h "
    correspondant en fait chemin complet vers tes headers à partir de /usr/include.

    sergio
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. loka
     
    Si tu ne veux pas te compliquer la vie avec l'édition de lien sous linux, tu peux utiliser ça :
    cc `sdl-config --cflags` -Wall -c TestSDL01.c
    gcc `sdl-config --libs` -o TestSDL01 TestSDL01.o
    0
  7. SaNkA-MaN
     
    Bonjour, j'ai eu les même problèmes que toi nico sauf qu'en utilisant la commande :

    g++ -o jeu jeu.cpp -lSDL -lSDL_image -lSDL_ttf

    j'ai les erreurs suivante :

    sanka@sanka-laptop:~/langage_c/test_ttf$ g++ -o jeu main.cpp -lSDL -lSDL_image -lSDL_ttf
    Dans le fichier inclus à partir de main.cpp:9:
    /usr/local/include/SDL/SDL_ttf.h:33:17: erreur: SDL.h : Aucun fichier ou répertoire de ce type
    /usr/local/include/SDL/SDL_ttf.h:34:24: erreur: begin_code.h : Aucun fichier ou répertoire de ce type
    /usr/local/include/SDL/SDL_ttf.h:232:24: erreur: close_code.h : Aucun fichier ou répertoire de ce type

    J'ai pourtant bien installer les librairies, je comprend pas.
    -2