Compilation C++ avec SDL (problème...)
Résolu
Nico
-
loka -
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!!
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!!
A voir également:
- Compilation C++ avec SDL (problème...)
- Code blocks avec compilateur - Télécharger - Langages
- Breach compilation c'est quoi - Guide
- Compilation error: expected unqualified-id before '{' token ✓ - Forum C++
- Sdl vs gtk ✓ - Forum Audio
- Problème Compilation Dev-C++ - Forum C++
6 réponses
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
g++ -o jeu jeu.cpp -lSDL -lSDL_image -lSDL_ttf
Encore merci :p
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
cc `sdl-config --cflags` -Wall -c TestSDL01.c
gcc `sdl-config --libs` -o TestSDL01 TestSDL01.o
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.
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.