#1 Le 24/11/2012, à 11:03
- Peuks
[C/SDL] Problème de link 12.10 (résolu)
Bonjour
J'apprends à programmer en moment en C et notamment avec SDL . C'est là que ça coince
SDL est bien présent sur ma machine dans /usr/include/SDL/
Lorsque j'essaye de compiler ce code, cela échoue systématiquement
#include <stdlib.h>
#include <stdio.h>
#include <SDL/SDL.h>
int main(int argc, char *argv[])
{
SDL_Init(SDL_INIT_VIDEO); // Démarrage de la SDL (ici : chargement du système vidéo)
/*
La SDL est chargée.
Vous pouvez mettre ici le contenu de votre programme
*/
SDL_Quit(); // Arrêt de la SDL (libération de la mémoire).
return 0;
}
skuep@paxo:~/Documents/Projets/vachette$ gcc `sdl-config --cflags --libs` -o main.x main.c
/tmp/ccpfxZUB.o: dans la fonction « main »:
main.c:(.text+0x15): référence indéfinie vers « SDL_Init »
main.c:(.text+0x1a): référence indéfinie vers « SDL_Quit »
collect2: erreur: ld a retourné 1 code d'état d'exécution
Je précise que j'utilise un simple éditeur de texte et un terminal pour la compilation
Dernière modification par Peuks (Le 24/11/2012, à 13:14)
Hors ligne
#2 Le 24/11/2012, à 12:39
- pingouinux
Re : [C/SDL] Problème de link 12.10 (résolu)
Bonjour,
Je suppose que sdl-config définit des librairies. Dans ce cas, essaye :
gcc -o main.x main.c `sdl-config --cflags --libs`
Hors ligne
#3 Le 24/11/2012, à 13:08
- Peuks
Re : [C/SDL] Problème de link 12.10 (résolu)
J'ai trouvé la réponse juste avant d'avoir vu ton message .
C'est quelque chose de liée à Ubuntu 12.10, mettre lib à la fin et tout fonctionne ...
Vu sur linuxfr.org
J'ai lu certains messages qui évoquent une importance sur l'ordre des paramètres à gcc, et mettent l'appel à pkg-config à la fin de la ligne, comme l'a fait TheBreton :
gcc hello.c -o hello `pkg-config --cflags --libs gtk+-3.0`
Je serais curieux de savoir si ça résoud ton problème. Cela viendrait à priori d'un changement chez Ubuntu (prévu dans Natty mais réalisé dans Oneiric), qui se contourne en mettant les -libs à la fin : https://wiki.ubuntu.com/NattyNarwhal/To … Transition
Je n'ai pas compris les détails du document, donc si j'ai vu juste je suis preneur d'une explication.
Merci beaucoup
Dernière modification par Peuks (Le 24/11/2012, à 13:09)
Hors ligne