Partage
  • Partager sur Facebook
  • Partager sur Twitter

FMOD problème

Sujet résolu
    23 juillet 2006 à 15:10:58

    Bonjour à tous,
    voila avant de tout apprendre le fmod j'ai essayer un peu tout les codes que M@teo donné dans le chapitre, mais voila j'ai toujours le même problème.
    Au moment de la compilation il arrete.
    Voici le log de la compilation :


    Compilateur: Default compiler
    Building Makefile: "C:\Dev-Cpp\Projet\DjPinock\Makefile.win"
    Exécution de make...
    make.exe -f "C:\Dev-Cpp\Projet\DjPinock\Makefile.win" all
    gcc.exe main.o -o "DJ-Pinock.exe" -L"C:/Dev-Cpp/lib" -mwindows -lmingw32 -lSDLmain -lSDL -libfmod

    C:\Dev-Cpp\Bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -libfmod
    collect2: ld returned 1 exit status

    make.exe: *** [DJ-Pinock.exe] Error 1

    Exécution terminée


    Comment faire ?
    J'ai pourtant bien mit mon fichier lfmod.a dans le repertoire lib avec les autres fichier .a (comme ceux de la sdl)

    Merci :)


    PS: dans l'éditeur de lien :

    -lmingw32
    -lSDLmain
    -lSDL
    -libfmod


    ----------------------------------------------------------

    EDIT: ce problème est regler, mais voici mon nouveau problème :

    Compilateur: Default compiler
    Building Makefile: "C:\Dev-Cpp\Projet\DjPinock\Makefile.win"
    Exécution de make...
    make.exe -f "C:\Dev-Cpp\Projet\DjPinock\Makefile.win" all
    gcc.exe main.o -o "DJ-Pinock.exe" -L"C:/Dev-Cpp/lib" -mwindows -lmingw32 -lSDLmain -lSDL -SDLimage -lfmod

    main.o(.text+0x110):main.c: undefined reference to `IMG_Load'
    collect2: ld returned 1 exit status

    gcc.exe: unrecognized option `-SDLimage'

    make.exe: *** [DJ-Pinock.exe] Error 1

    Exécution terminée


    Je comprend pas la !

    Voici mon link :

    -lmingw32
    -lSDLmain
    -lSDL
    -SDLimage
    -lfmod


    Merci :)
    • Partager sur Facebook
    • Partager sur Twitter
      23 juillet 2006 à 17:27:28

      Tu devrais pê linker avec lSDLimage plutôt qu'avec SDLimage non ?
      • Partager sur Facebook
      • Partager sur Twitter

      If you'd like to join us, read "How do we work at OpenClassrooms"! :)

        23 juillet 2006 à 18:57:45

        -SDLimage

        Chez moi, ça marche comme suivant
        -lSDL_image
        • Partager sur Facebook
        • Partager sur Twitter
          23 juillet 2006 à 20:04:02

          Merci à vous deux,
          j'ai réussi à compiler, mais il me semble qu'il y est un problème.
          Le programme ne se lance pas !
          Sa ne serait pas à cause du poids de ma musique (27,8 Mo) ?

          Merci d'avance :)

          PS: mon code identique à celui de m@teo mais avec mes parametre :

          #include <stdlib.h>
          #include <stdio.h>
          #include <SDL/SDL.h>
          #include <SDL/SDL_image.h>
          #include <FMOD/fmod.h>

          int main(int argc, char *argv[])
          {
              SDL_Surface *ecran = NULL, *pochette = NULL;
              SDL_Event event;
              SDL_Rect position;
              int continuer = 1;
              FSOUND_STREAM *musique = NULL;

              FSOUND_Init(44100, 32, 0);
              musique = FSOUND_Stream_Open("Keep_The_Vibes_Alive.mp3", 0, 0, 0); /* On ouvre la musique */
              if (musique == NULL) /* On vérifie si elle a bien été ouverte (IMPORTANT) */
              {
                  fprintf(stderr, "Impossible de lire la musique\n");
                  exit(EXIT_FAILURE);
              }

              FSOUND_Stream_SetLoopCount(musique, -1); /* On active la répétition de la musique à l'infini */
              FSOUND_Stream_Play(FSOUND_FREE, musique); /* On joue la musique */

              SDL_Init(SDL_INIT_VIDEO);


              ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
              SDL_WM_SetCaption("DJ-Pinock", NULL);
              pochette = IMG_Load("cover.jpg");
              position.x = 0;
              position.y = 0;


              while (continuer)
              {
                  SDL_WaitEvent(&event);
                  switch(event.type)
                  {
                      case SDL_QUIT:
                          continuer = 0;
                          break;
                      case SDL_KEYDOWN:
                          if (event.key.keysym.sym == SDLK_p) //Si on appuie sur P
                          {
                              if (FSOUND_GetPaused(1)) // Si la chanson est en pause (sur le canal 1)
                                  FSOUND_SetPaused(1, 0); // On enlève la pause
                              else // Sinon, elle est en cours de lecture
                                  FSOUND_SetPaused(1, 1); // On active la pause
                          }
                          break;
                  }

                  SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0));
                  SDL_BlitSurface(pochette, NULL, ecran, &position);
                  SDL_Flip(ecran);
              }

              FSOUND_Stream_Close(musique); /* On libère la mémoire */
              FSOUND_Close();

              SDL_FreeSurface(pochette);
              SDL_Quit();

              return EXIT_SUCCESS;
          }


          Merci :)
          • Partager sur Facebook
          • Partager sur Twitter
            24 juillet 2006 à 11:49:06

            Je me permet de faire un petit UP.

            Merci d'avance :)
            • Partager sur Facebook
            • Partager sur Twitter
              24 juillet 2006 à 11:57:57

              1ere chose : Regarde le fichier stderr.txt dans le dossier de ton projet et dit nous ce qu'il y'a dedans.
              2eme chose : Enlève ce bout de code :
              if (musique == NULL) /* On vérifie si elle a bien été ouverte (IMPORTANT) */
                  {
                      fprintf(stderr, "Impossible de lire la musique\n");
                      exit(EXIT_FAILURE);
                  }

              Si le programme se lance et aucune musique ne se joue, alors vérifie l'extension de ta musique et vérifie si elle est dans le dossier de ton projet.
              • Partager sur Facebook
              • Partager sur Twitter
                24 juillet 2006 à 19:54:26

                Exacte, alors de une ma musique avait pas le bon format (demander moi pas pourquoi tout mes fichiers sont en .mp3 sauf celle là, comme par hasard ^^.
                Et de deux, comme sa marché la fenetre c'est ouverte, le son etait dégeullasse, j'ai donc par curiosité enlever la ligne que vous m'avez indiquer et paf le son et devenu magnifique !

                Donc voila je vous remercie pour votre aide !
                D'ailleur j'ai lut presque tout le cour cette nuit ^^.

                Merci à vous et bonne continuation :)
                • Partager sur Facebook
                • Partager sur Twitter

                FMOD problème

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown