bigben89
Messages postés6Date d'inscriptionmercredi 5 janvier 2005StatutMembreDernière intervention21 mars 2006
-
18 avril 2005 à 23:47
bigben89
Messages postés6Date d'inscriptionmercredi 5 janvier 2005StatutMembreDernière intervention21 mars 2006
-
21 mars 2006 à 23:51
Ca fais à peine quelques mois que j'fais de la programmation (en C) et j'aimerais
faire un peu de 2d et de 3d avec SDL.
Je regarde des tutoriaux sur SDL, j'essaye de compiler un programme donné en
exemple et il me met :
linker error : undefined reference to 'SDL_MapRGB'
linker error : undefined reference to 'SDL_FillRect'
...
linker error : undefined reference to 'SDL_FreeSurface'
linker error : undefined reference to 'WinMain@16'
C'est quoi le blème : problème avec les librairies, ou autre chose ??!!
Ca m'énerve
Programme :
#include <SDL/SDL.h>
#include <stdio.h>
#include <stdlib.h>
// Surfaces et rectangle
SDL_Rect rect;
SDL_Surface *Screen, *rectangle;
// Fonction d'affichage
void affichage()
{
// Coloration des surfaces
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(Screen->format, 255, 0, 0));
SDL_FillRect(Screen, NULL, 0);
// Définition de la zone à l'écran
rect.x = (Screen->w / 2) - (rect.w / 2);
rect.y = (Screen->h / 2) - (rect.h / 2);
rect.w = Screen->w / 2;
rect.h = Screen->h / 2;
// Blit de la surface à l'écran et affichage
SDL_BlitSurface(rectangle,NULL,Screen,&rect);
SDL_Flip(Screen);
}
int main (int argc, char **argv)
{
// Initialisation de SDL
if (SDL_Init (SDL_INIT_VIDEO) < 0) {
fprintf (stderr, "Erreur d'initialisation de SDL: %s\n",
mad_love_disease
Messages postés64Date d'inscriptionlundi 20 octobre 2003StatutMembreDernière intervention 1 juillet 20103 19 avril 2005 à 00:37
le linker fait le lien entre ton code cpp et la library SDL. Toutes les fonctions de la SDL que tu utilises sont précompilées dans cette derniere library. Le linker te fais des erreurs car tu n'as pas renseigner le compilo sur les library; pour cela, il faut que tu donnes le chemin de la library au compilo:
Sous visual: project->settings (ou ALT F7) onglets link.
Sous dev cpp: ALT P ou options du projets.
cherche un fichier du style libSDL.lib, enfin un point lib ou un .a, et link le.
mad_love_disease
Messages postés64Date d'inscriptionlundi 20 octobre 2003StatutMembreDernière intervention 1 juillet 20103 19 avril 2005 à 15:08
euh, et bien la, on a affaire à un probleme d'adresse... J'ai deux questions pour toi:
Quelle compilo utilises tu?
Est ce un .lib ou un .a que tu as utilisé??
mad_love_disease
Messages postés64Date d'inscriptionlundi 20 octobre 2003StatutMembreDernière intervention 1 juillet 20103 30 avril 2005 à 14:31
yo, desolé pour l'oubli
alors, tu dezippe tout le zip que je t'ai filler et SDL.lib dans C:
tu vas dans l'invite de commandes et tu tapes: reimp.exe SDL.lib
normalement ca tu l'as deja fait, si ca ne marche pas, tu m'envoie SDL.lib à mon adresse mail [mailto:mad_love_disease@hotmail.com mad_love_disease@hotmail.com] et je te ferais ca,
bigben89
Messages postés6Date d'inscriptionmercredi 5 janvier 2005StatutMembreDernière intervention21 mars 2006 21 mars 2006 à 23:51
lol !!!
J'l'avais completement oublié ce post !
Depuis le temps, c'est bon, j'ai qd même réussi à faire marcher SDL : je m'y suis remis un petit coup en février en regardant un tuto et ca avait marché correctement (si ce n'est qu'il marche très bien sur mon PC, mais qu'il n'a pas marché sur les 2 autres PC sur lesquels je l'ai essayé)