IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

Édition des liens en passant à la SDL2


Sujet :

SDL

  1. #1
    Candidat au Club
    Homme Profil pro
    Luthier
    Inscrit en
    Juin 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Luthier

    Informations forums :
    Inscription : Juin 2016
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Édition des liens en passant à la SDL2
    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:
    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;
    }
    ne passe pas et me renvoit les choses suivantes:

    -------------- 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))
    On peut voir que :
    •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

  2. #2
    Candidat au Club
    Homme Profil pro
    Luthier
    Inscrit en
    Juin 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Luthier

    Informations forums :
    Inscription : Juin 2016
    Messages : 3
    Points : 3
    Points
    3
    Par défaut MAJ
    Alors…

    J'ai fait une pause de qq heures, relancé puis pressé le bouton "rebuild".
    Et le résultat est en fait un peu différent:
    -------------- Clean: Debug in sdl2 (compiler: GNU GCC Compiler)---------------

    Cleaned "sdl2 - Debug"

    -------------- Build: Debug in sdl2 (compiler: GNU GCC Compiler)---------------

    x86_64-w64-mingw32-g++.exe -Wall -g -Wextra -Wall -pg -I"C:\Program Files (x86)\CodeBlocks\SDL2-2.0.4\x86_64-w64-mingw32\include" -c "E:\Documents\Gwenael LE PAGE\Programmation\Essais C\sdl2\main.cpp" -o obj\Debug\main.o
    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\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))
    4 error(s), 0 warning(s) (0 minute(s), 0 second(s))
    Mais qu'est ce que c'est que ce "users/slouken" ? C'est pas moi en tous cas !

  3. #3
    Candidat au Club
    Homme Profil pro
    Luthier
    Inscrit en
    Juin 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Luthier

    Informations forums :
    Inscription : Juin 2016
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Résolu
    Bon, c'est plus ou moins résolu.

    Je dis plus ou moins car, bien qu'il semble que la SDL2 fonctionne maintenant correctement avec mon MinGW64, elle semble assez différente de la SDL 1.2. Donc je rebascule vers la 1.2 pour pouvoir suivre les cours de manière plus sereine.

    Pour info, si qq tombe sur ce fil, le soucis venait de la déclaration de la fonction main(): elle doit imperativement etre du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int main(int argc, char *argv[])
    et non un simple


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreurs d'édition des liens en passant de GCC 4.5 à 4.6
    Par uriotcea dans le forum Débuter
    Réponses: 3
    Dernier message: 18/07/2012, 21h32
  2. [dll] pb à l'édition des liens
    Par poukill dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 05/05/2006, 09h56
  3. [VC++] Erreur d'édition des liens LNK1143
    Par Yellowmat dans le forum MFC
    Réponses: 6
    Dernier message: 01/02/2006, 15h00
  4. [Dev-C++] Problème d'édition des liens
    Par shura dans le forum EDI
    Réponses: 5
    Dernier message: 30/08/2005, 09h35
  5. Problème à l'édition des liens avec BCC55 et Xerces
    Par ShootDX dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 30/11/2003, 14h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo