Je me suis lancé sur l'apprentissage de la bibliothèque SDL. Je programme sous Linux donc j'ai installé avec le terminal la SDL2 pour les développeurs. Cependant lorsque j'essaye d'initialiser la SDL dans un programme et que je compile j'ai ceci qui s'affiche :
/usr/bin/ld: /tmp/cckFVbmG.o: in function `main':
/home/mfr/git/c/SDL/SDL.c:17: undefined reference to `SDL_Init'
collect2: error: ld returned 1 exit status
J'utilise cet include dans mon fichier source :
#include <SDL/SDL.h>
Je précise que mon alias gd signifie : alias gd='gcc -ansi -pedantic-errors -Wall -Wextra -g -D_DEFAULT_SOURCE '
j'ai essayé de créer cet alias là mais ne fonctionne pas à la compilation : alias gds='gcc -ansi -pedantic-errors -Wall -Wextra -g -D_DEFAULT_SOURCE `sdl2-config --cflags --libs=` '
J'en appel donc à votre généreuse et précieuse aide afin de me permettre de compiler et d'apprendre l'utilisation de la SDL.
Je suis aussi preneur si un Makefile se baladerait par là pour la SDL...
Merci d'avance
EDIT : avec cette commande cela fonctionne :
gd SDL.c -lSDLmain -lSDL
Faut que j'arrive à intégrer dans mon Makefile car jusqu'ici pas réussis.
- Edité par Moshé Frydmann 18 janvier 2021 à 15:04:32
sachant que 'sdl2-config' est la solution la plus simple pour utiliser la SDL2 sous ubuntu. 'sdl2-config --cflags' sert pour la compilation des sources et 'sdl2-config --libs' sert pour l'étape de linkage. Avec ce que tu proposes comme commande (-lSDLmain -lSDL) tu ne pourras utiliser que la SDL en version 1.x , soit une version obsolète. Note que par exemple, il n'y a pas de SDL_Flip() dans la SDL2.x, on utilise à la place SDL_RenderPresent(SDL_Renderer*) , donc il te faut faire un choix. Je te conseille vivement d'embrayer sur la SDL en version 2.
Post scriptum: Je viens de voir les autres sujets ouverts par Shémo sur la SDL2 et le shell . Du coup désolé pour le post un peu inutile.
Merci pour ces recommandations, effectivement dans un autre post j'avais reçue le même conseil. Merci en tout cas
problème compilation SDL
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Mon site web de jeux SDL2 entre autres : https://www.ant01.fr
Mon site web de jeux SDL2 entre autres : https://www.ant01.fr