Bonjour;
j'ai installer la SDL2 via la commande(j'ai linux Mint).
Code : Sélectionner tout - Visualiser dans une fenêtre à part sudo apt install libsdl2-dev
Erreur 1:
Quand je compile avec GNU GCC Compiler, j'ai l'erreur suivante:
J'ai bien mis : `pkg-config --cflags --libs sdl2` dans "other compiler option"
Code : Sélectionner tout - Visualiser dans une fenêtre à part ||error: ld returned 1 exit status|
et:
dans "other linker options".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 -lSDL2 `pkg-config --cflags --libs sdl2`
Erreur 2 :
Quand je compile avec mingw j'ai tantôt ce message d'erreur tantôt il me dit qu'il trouve pas SDL2/SDL.H
Je met en début de code :
et si je met:
Code : Sélectionner tout - Visualiser dans une fenêtre à part #include <SDL2/SDL.h>
il me met:
Code : Sélectionner tout - Visualiser dans une fenêtre à part #include <SDL.h>
/usr/include/SDL2/SDL_config.h|4|fatal error: SDL2/_real_SDL_config.h: Aucun fichier ou dossier de ce type|
Quelqu'un peut-il m'aider ?
Nota Bene:
L'erreur n°1 ne se produit que pour des programmes un peu sophistiqués (dès qu'on commence à afficher quelque chose) tel que :
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 #include <stdio.h> #include <stdlib.h> #include <math.h> #include <SDL2/SDL.h> int cercle(SDL_Window *fenetre, int x, int y, int largeur, int hauteur, int R, int V, int B); int main(int argc, char *argv[]){ SDL_Window *win = NULL; if(SDL_Init(SDL_INIT_VIDEO) != 0) printf("error"); if((win = SDL_CreateWindow("Test cercle", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 700, 600, 0)) == NULL) printf("error"); int i = 0; while(i<256){ cercle(win, 350, 300, 256-i, 256-i, i, i/6, 255-i); i += 1; } SDL_Delay(4000); SDL_DestroyWindow(win); SDL_Quit(); return 0; } int cercle(SDL_Window *fenetre, int x, int y, int largeur, int hauteur, int R, int V, int B){ SDL_Renderer *rendu = NULL; if((rendu = SDL_CreateRenderer(fenetre, -1, SDL_RENDERER_SOFTWARE)) == NULL){ return 0; } if((SDL_SetRenderDrawColor(rendu, R, V, B, SDL_ALPHA_OPAQUE)) != 0){ return 0; } const double pi = 3.141592; double angle = pi; double L, P; while(angle<2*pi){ L = cos(angle)*largeur; P = sin(angle)*hauteur; SDL_RenderDrawLine(rendu, x+L, y+P, x+L, y-P); angle += 0.004; } SDL_RenderPresent(rendu); SDL_DestroyRenderer(rendu); }
Partager