Bonjour,
voici en pièce jointe et ici un code , j'ai pu supprimer un certain nombre d'erreurs, mais malgré cela à la compilation linux, j'ai encore des messages d'erreur.
J'ai téléchargé SDL, l'ai decompressé, et je l'ai renommé SDL(au lieu de SDL-1.2 ou quelque chose de ce style), SDL.h se trouve dans le sous-repertoire include, raison pour laquelle, j'ai dû ajouter en en-tête
et ma ligne de compilation est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part #include <include/SDL.h>
où je pense que le -I sert à dire qu'il faut chercher le bon repertoire SDL(mais je n'ai pas réussi à trouver des renseignements précis sur internet à ce sujet).
Code : Sélectionner tout - Visualiser dans une fenêtre à part gcc -I SDL sdtTest2.c
Finalement, j'ai un message d'esseur du compilateur comme quoi SDL_init n'est pas reconnu.
Merci de votre aide.
Cordialement
ps, voici le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74 #include <stdlib.h> // pour la fonction exit() ,atexit() #include <stdio.h> // pour printf #include "include/SDL.h" // Librairie SDL //using namespace std; problème : faire reconnaître SDL_init SDL_Surface *screen; //Initialisation du rendu graphique : void initSDL(void){ if( SDL_Init( SDL_INIT_VIDEO ) < 0 ) { printf ( "Impossible d'initialiser SDL: %s\n", SDL_GetError( )) ; exit( EXIT_FAILURE ); } atexit( SDL_Quit ); screen = SDL_SetVideoMode( 640, 480, 16, SDL_HWSURFACE ); if( screen == NULL ) { printf ( "Impossible d'initialiser le mode vidéo: %s\n", SDL_GetError( ) ); exit( EXIT_FAILURE ); } } //Fermer la fenetre graphique lors de l'appuie d'une touche: void wait(void) { SDL_Event event; do SDL_WaitEvent(&event); while (event.type != SDL_QUIT && event.type != SDL_KEYDOWN); } //Actualiser la fenetre graphique. void actualiser(void) { SDL_UpdateRect(screen, 0, 0, 0, 0); } //Methode pour tracer un rectangle dans notre fenetre void drawRect(int x, int y, int W, int H){ SDL_Rect rect; rect.x = x; rect.y = y; rect.w = W; rect.h = H; SDL_FillRect(screen, &rect, SDL_MapRGB(screen->format, 200, 100, 0)); } //Fonction affine discrète: int f(float a,float b,int n){ return (int)(a*n+b); } int main( int argc, char *argv[ ] ) { initSDL(); int W=10,H=10; // Discrétisation de la droite affine x->ax+b en partant de l'origine (0,0) avec n pixels float a=0.5,b=1; int n; for(n=0;n<10;n++){ drawRect(n*10,480-f(a,b,n)*10,W,H); } actualiser(); wait(); return 0; }
Partager