Pages : 1
#1 Le 07/04/2006, à 16:14
- crygor
libSDL
Bonjour,
j'ai finalement installé SDL. Je n'arrive cependant pas a l'utiliser : apparemment, mes inclusions de fichiers et de libs sont bonnes. La compilation et l'édition de lien roule parfaitement. Cependant, la génération de l'éxécutable ne marche pas :
undefined reference to SDL_Init
Je suis sous anjuta...
Pour les headers, j'ai mis comme domaine de recherche /usr/include/SDL (c'est bon), pour les librairies, j'ai mis SDLmain.a et deux autres je crois (dans /usr/lib).
D'ou viens le problème?
Je précise aussi que dans bibliothèques, je n'ai pas SDL... Je comprends pas, car dans /usr/lib, elles y sont.
La bibliothèque, c'est le .a, ou le .so?
Dernière modification par crygor (Le 07/04/2006, à 16:24)
Hors ligne
#2 Le 07/04/2006, à 16:29
- Fy
Re : libSDL
#include <SDL/SDL.h>
Tu fais bien comme ça ? Tu as le paquet libsdl1.2-dev (il est dans les sources apt)
Dernière modification par Fy (Le 07/04/2006, à 16:29)
Hors ligne
#3 Le 07/04/2006, à 16:54
- crygor
Re : libSDL
Le paquet est defectueux, j'ai pris un rpm sur le site de SDL, je l'ai installé avec alien.
Il n'y as pas de problème d'include, oui j'ai <SDL/SDL.h>.
(et le paquet SDL en dev est toujours defectueux)
Dernière modification par crygor (Le 07/04/2006, à 16:54)
Hors ligne
#4 Le 08/04/2006, à 01:36
- Fy
Re : libSDL
Tu as essayer de mettre les librairies SDL dans le repetoire local ou tu compiles, et d'include ça ?
Hors ligne
#5 Le 08/04/2006, à 08:57
- crygor
Re : libSDL
Tu veux dire inclure les librairies ou les headers? En tout cas pas de problème pour les headers, mais au niveau des librairies, je ne sais pas comment les inclures.
Hors ligne
#6 Le 09/04/2006, à 10:39
- crygor
Re : libSDL
Bon, el problème je crois que c'est que je ne peux pas installer la runtime librairie : il y a un conflit avec libsdl1.2debian-oss...
Hors ligne
#7 Le 11/04/2006, à 23:22
- lost-in-the-shell
Re : libSDL
J'ai (à peu près) le même problème : j'ai installé libsdl1.2-dev, mais quand j'essaie de compiler mon code avec GCC, ça donne ça :
naji@mammeri:~$ gcc main.c
/tmp/ccWsJBpo.o: dans la fonction « main »:
main.c:(.text+0x29): référence indéfinie vers « SDL_Init »
main.c:(.text+0x38): référence indéfinie vers « SDL_EnableKeyRepeat »
main.c:(.text+0x5d): référence indéfinie vers « SDL_SetVideoMode »
main.c:(.text+0x75): référence indéfinie vers « SDL_RWFromFile »
main.c:(.text+0x83): référence indéfinie vers « SDL_LoadBMP_RW »
main.c:(.text+0x98): référence indéfinie vers « SDL_WM_SetCaption »
main.c:(.text+0xac): référence indéfinie vers « SDL_WaitEvent »
main.c:(.text+0x164): référence indéfinie vers « SDL_MapRGB »
main.c:(.text+0x175): référence indéfinie vers « SDL_FillRect »
main.c:(.text+0x189): référence indéfinie vers « SDL_UpperBlit »
main.c:(.text+0x197): référence indéfinie vers « SDL_Flip »
main.c:(.text+0x1af): référence indéfinie vers « SDL_FreeSurface »
collect2: ld a retourné 1 code d'état d'exécution
Je précise que je fais un #include <SDL/SDL.h> dans mon fichier main.c
Dernière modification par lost-in-the-shell (Le 11/04/2006, à 23:23)
Linux user #401253 - Ubuntu user #3023 .
Nick sur IRC : naji.
Pensez à adhérer au Comité de lutte contre le SMS.
Hors ligne
#8 Le 15/04/2006, à 09:04
- SuperDindon
Re : libSDL
gcc -o test main.c -lSDL
speedtouch-ng, le messie des possesseurs de Speedtouch USB/330 :
==> http://perso.wanadoo.fr/superdindon/speedtouch-ng/
Hors ligne
#9 Le 19/04/2006, à 08:03
- dylhoxic
Re : libSDL
gcc -o test main.c -lSDL
La ligne suivante est plutôt conseillé :
gcc main.c -o test `sdl-config --cflags --libs` ;)
Kubuntu++
Hors ligne
#10 Le 20/04/2006, à 18:17
- aznur
Re : libSDL
je mincruste mais pour inclure une biblio ds anjuta ya un truc sa sapelle l'editeur de lien c tres pratique
Hors ligne
#11 Le 23/04/2006, à 10:59
- crygor
Re : libSDL
Dans les Compilateur/Editeurdeliens, je met quelques commandes mais au moment de la compilation les arguments (`sdl-config --cflags --libs`) ne passent pas : je peux voir ça dans la fenêtre de message.
Hors ligne
#12 Le 23/04/2006, à 11:39
- crygor
Re : libSDL
En fait, j'ai lu qu'il fallait tout vider dans l'onglet option, et toucher a bibliothèque, headers. Je l'ai fait, ça ne marche pas.
Hors ligne
#13 Le 23/04/2006, à 12:08
- aznur
Re : libSDL
tu a essayer de fer tout netoyer ? jusqua se que sa marque echec apre reffet une auto generation et recontruit tout
essaye comme sa sinon j'ai pa di'dee dsl
Hors ligne
#14 Le 23/04/2006, à 14:20
- crygor
Re : libSDL
Bon.. je suis passé entièrement sous gedit, ça rox.
Hors ligne
#15 Le 24/04/2006, à 13:29
- aznur
Re : libSDL
oue m'enfin je suis sur qu'il y a une solution a ton probleme je veu bien que tu rox avec gedit mais c pa la solution
quand ti arivera pa avec gedit ?
tu prendra emacs ?
non serieusement te decourage pas remarque maintenant que tu c que sa va avec gedit essaye de nouveau avec anjuta et poste la soluce non di djou
Hors ligne
#16 Le 24/04/2006, à 13:40
- crygor
Re : libSDL
non tu a pas vu le preview gnome 2.14, les snippets c'est très bien.
Hors ligne
#17 Le 12/05/2006, à 14:24
- lost-in-the-shell
Re : libSDL
Hum hum, si vous permettez :
* Préférences > Compilateur/Editeur de liens > Bibliothèques > Ajouter "SDL"
* Si vous compilez directement sous GCC :
gcc fichier1.c fichier2.c ... -o -lSDLmain -lSDL executable
Linux user #401253 - Ubuntu user #3023 .
Nick sur IRC : naji.
Pensez à adhérer au Comité de lutte contre le SMS.
Hors ligne
#18 Le 12/05/2006, à 21:15
- kelk'1
Re : libSDL
Salut, j'utilise Code::Blocks
J'ai installé tout les paquets ou il y avait marqué libsdl
Mais je ne sais pas quoi ajouter dans Code::Blocks pour que ca marche !
Il me sort une erreur de compilation du genre :
Compiling: main.c
gcc: `sdl-config : Aucun fichier ou r
de ce type
cc1: erreur: option "-fcflags`" de la ligne de commande non reconnue
Process terminated with status 1 (0 minutes, 0 seconds)
Dernière modification par kelk'1 (Le 12/05/2006, à 21:16)
Hors ligne
#19 Le 31/03/2008, à 01:17
- threadom
Re : libSDL
J'avais quasiment la même chose avec l'exemple de base de code::blocks.
obj/Debug/main.o||In function `main':|
/home/threadom/Sources/EterniaSDL/main.cpp|15|undefined reference to `SDL_Init'|
/home/threadom/Sources/EterniaSDL/main.cpp|17|undefined reference to `SDL_GetError'|
/home/threadom/Sources/EterniaSDL/main.cpp|22|undefined reference to `SDL_Quit'|
/home/threadom/Sources/EterniaSDL/main.cpp|26|undefined reference to `SDL_SetVideoMode'|
/home/threadom/Sources/EterniaSDL/main.cpp|29|undefined reference to `SDL_GetError'|
/home/threadom/Sources/EterniaSDL/main.cpp|34|undefined reference to `SDL_RWFromFile'|
/home/threadom/Sources/EterniaSDL/main.cpp|34|undefined reference to `SDL_LoadBMP_RW'|
/home/threadom/Sources/EterniaSDL/main.cpp|37|undefined reference to `SDL_GetError'|
/home/threadom/Sources/EterniaSDL/main.cpp|52|undefined reference to `SDL_PollEvent'|
/home/threadom/Sources/EterniaSDL/main.cpp|76|undefined reference to `SDL_MapRGB'|
/home/threadom/Sources/EterniaSDL/main.cpp|76|undefined reference to `SDL_FillRect'|
/home/threadom/Sources/EterniaSDL/main.cpp|79|undefined reference to `SDL_UpperBlit'|
/home/threadom/Sources/EterniaSDL/main.cpp|84|undefined reference to `SDL_Flip'|
/home/threadom/Sources/EterniaSDL/main.cpp|88|undefined reference to `SDL_FreeSurface'|
||=== Build finished: 14 errors, 0 warnings ===|
Pour linker libSDL.so sous code::blocks j'ai été dans :
Menu "Settings"
Sous-Menu "Compiler and debbuger"
Onglet "Linker settings"
Bouton "Ajouter"
Selection de "/usr/lib/libSDL.so"
Bouton "Valider"
Bouton "Valider"
Et la compilation ce passe alors très bien.
Pages : 1