Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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

wink


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

SuperDindon a écrit :
gcc -o test main.c -lSDL

La ligne suivante est plutôt conseillé :

gcc main.c -o test `sdl-config --cflags --libs` wink;)


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.