Bonjour Messieurs-Dames !
C'est mon premier post sur ce site, et je suis un grand débutant en programmation, surtout en C.
Je suis en train de suivre un cours de C, et on y utilise la SDL.
Au début, pas de soucis, j'ai pu l'utiliser. Mais après un moment, je n'ai plus réussi (au moment d'incorporer SDL_Image).
Je me suis dit, puisque je galère, je vais en profiter pour passer tout en SDL2.
Mais il semble qu'il y ai un soucis, car le code suivant:
ne passe pas et me renvoit les choses suivantes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #include <stdlib.h> #include <time.h> #include <stdio.h> #include <SDL2/SDL.h> //#include <SDL2/SDL_image.h> int main() { SDL_Init(SDL_INIT_VIDEO); SDL_Quit(); return 0; }
On peut voir que :-------------- Build: Debug in sdl2 (compiler: GNU GCC Compiler)---------------
x86_64-w64-mingw32-g++.exe -L"C:\Program Files (x86)\CodeBlocks\SDL2-2.0.4\x86_64-w64-mingw32\lib" -o bin\Debug\sdl2.exe obj\Debug\main.o -pg -lgmon -lmingw32 -lSDL2main -lSDL2 -lSDL2_image -lSDL2_mixer -lSDL2_ttf "C:\Program Files (x86)\CodeBlocks\SDL2-2.0.4\x86_64-w64-mingw32\lib\libSDL2.a" "C:\Program Files (x86)\CodeBlocks\SDL2-2.0.4\x86_64-w64-mingw32\lib\libSDL2.dll.a" "C:\Program Files (x86)\CodeBlocks\SDL2-2.0.4\x86_64-w64-mingw32\lib\libSDL2_image.a" "C:\Program Files (x86)\CodeBlocks\SDL2-2.0.4\x86_64-w64-mingw32\lib\libSDL2_image.dll.a" "C:\Program Files (x86)\CodeBlocks\SDL2-2.0.4\x86_64-w64-mingw32\lib\libSDL2_mixer.a" "C:\Program Files (x86)\CodeBlocks\SDL2-2.0.4\x86_64-w64-mingw32\lib\libSDL2_mixer.dll.a" "C:\Program Files (x86)\CodeBlocks\SDL2-2.0.4\x86_64-w64-mingw32\lib\libSDL2_ttf.a" "C:\Program Files (x86)\CodeBlocks\SDL2-2.0.4\x86_64-w64-mingw32\lib\libSDL2_ttf.dll.a"
C:/Program Files (x86)/CodeBlocks/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/5.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: i386 architecture of input file `obj\Debug\main.o' is incompatible with i386:x86-64 output
obj\Debug\main.o: In function `SDL_main()':
E:/Documents/Gwenael LE PAGE/Programmation/Essais C/sdl2/main.cpp:10: undefined reference to `_SDL_Init'
E:/Documents/Gwenael LE PAGE/Programmation/Essais C/sdl2/main.cpp:12: undefined reference to `_SDL_Quit'
C:\Program Files (x86)\CodeBlocks\SDL2-2.0.4\x86_64-w64-mingw32\lib/libSDL2main.a(SDL_windows_main.o): In function `main_utf8':
/Users/slouken/release/SDL/SDL2-2.0.4-source/foo-x64/../src/main/windows/SDL_windows_main.c:126: undefined reference to `SDL_main'
/Users/slouken/release/SDL/SDL2-2.0.4-source/foo-x64/../src/main/windows/SDL_windows_main.c:126: undefined reference to `SDL_main'
/Users/slouken/release/SDL/SDL2-2.0.4-source/foo-x64/../src/main/windows/SDL_windows_main.c:126: undefined reference to `SDL_main'
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 0 second(s))
6 error(s), 0 warning(s) (0 minute(s), 0 second(s))
•1 : Je pense avoir correctement pointé vers les headers dans mes reglages de CB (search directories) et à l'installation de la SDL.
•2 : On peut voir un soucis avnt les 2 lignes commençant par "E:": on dirait que je compile en 32 bits… Alors que mon Win 7 est un OS 64 bits et que j 'ai tout mis en place pour du 64bits.
Pour vous resituer:
•Mon Code::blocks utilise MinGW64. J'ai spécifié son chemin dans la section Toolchain executables (et pointé vers les différents modules)
•J'ai mis la SDL2 dans le dossier d'install de Code-Blocks. (J'y ai incorporé SDL2_image etc, mais ça n'est pas le sujet pour l'instant)
•Dans la section Linker Settings, j'ai mis les dossiers que l'on peut voir plus haut, ainsi que la liste d'instructions(?) que l'on peut voir plus haut dans la partie "other linker options".
Mais rien à faire, quelquechose m'échappe…
Je quémande donc votre aide pour m'aider à y voir plus clair.
Peut-etre dois-je procéder par petites touches…
1. Comment être sur que c'est bien MinGw64 qui compile et pas MinGW-tout-court ?
2. Est-ce que le fait d'avoir installé C::B par défaut dans ProgramFiles (x86) est un soucis pour Windows si j'utilise du 64 bits ?
J'avoue que je suis un peu sonné : j'ai fait 5 heures de triturages et autres réinstallations, sans résultat…
Merci à quiconque pourra m'aiguiller !
Gwen
Partager