Partage
  • Partager sur Facebook
  • Partager sur Twitter

undefined reference to `TTF_Init'

Sujet résolu
    27 août 2014 à 10:12:07

    Bonjour,

    Je pense que vous devriez vous penchez sur les templates de projet. Ça vous permettra d'avoir une base préconfigurée.

    De plus, vous devriez lire ce tutoriel : http://alexandre-laurent.developpez.com/tutoriels/c-cpp/installation-et-configuration-d-une-bibliotheque/ Tout est expliqué sur comment on configure "bien" une bibliothèque et pourquoi cela fonctionne comme ça (ce qui est le plus important à savoir). Ainsi vous saurez configuré toute bibliothèque dans votre vie.

    • Partager sur Facebook
    • Partager sur Twitter
      27 août 2014 à 11:08:42

      Bon j'ai sortit le grand jeu, captures d'écrans massives pour vous montrer tous mes fichiers en leur état actuel:

      Mon fichier Codeblocks et on voit le sous fichier de la SDL (j'ai décompressé l'archive directement dedans):

      http://image.noelshack.com/fichiers/2014/35/1409129935-codeblocks.png

      Dans ce fichier:

      http://image.noelshack.com/fichiers/2014/35/1409129940-codeblocks-sdl.png

      L'intérieur de ce sous sous dossier:

      http://image.noelshack.com/fichiers/2014/35/1409129946-codeblocks-sdl-sdl.png

      Le dossier bin:

      http://image.noelshack.com/fichiers/2014/35/1409129935-codeblocks-sdl-sdl-bin.png

      le dossier include en 2 parties: (le sous dossier SDL est identique, j'ai tout copié collé pour pas avoir a me soucié de <SDL/SDL_...h> ou <SDL...h>

      http://image.noelshack.com/fichiers/2014/35/1409129946-codeblocks-sdl-sdl-include.png

      http://image.noelshack.com/fichiers/2014/35/1409129935-codeblocks-sdl-sdl-include2.png

      Le dossier lib:

      http://image.noelshack.com/fichiers/2014/35/1409129940-codeblocks-sdl-sdl-lib.png

      Enfin les options dans Settings->compiler:

      les options du linker:

      http://image.noelshack.com/fichiers/2014/35/1409129943-linkersettings.png

      les search directories:

      http://image.noelshack.com/fichiers/2014/35/1409129946-searchdirectoriesh.png

      http://image.noelshack.com/fichiers/2014/35/1409129948-searchdirectoriesl.png

      et les options de GLOBAL VARIABLE qui indique le fichier de la SDL a codeblocks:

      http://image.noelshack.com/fichiers/2014/35/1409129946-sdl.png

      -
      Edité par Liquiid77 27 août 2014 à 11:11:11

      • Partager sur Facebook
      • Partager sur Twitter
        27 août 2014 à 13:21:31

        J'espère que vous avez bien pris la version 32 bits des bibliothèques.

        Sinon, à titre personnel, ... cette configuration globale au niveau du compilateur m'a vraiment fait très mal au coeur. On devrait punir les gens d'enseigner et de faire une telle configuration. Là, vous avez configuré la SDL au niveau du compilateur et qu'elle sera donc possiblement active pour tout vos projets, qu'ils soient SDL ou pas. D'une part, lorsque vous distribuerai votre code à vos amis ou sur un forum, il ne fonctionnera pas sans une reconfiguration de leur environnement, mais en plus, vous pouvez avoir des conflits entre les fichiers d'include, ou même, des versions SDL. Je sais bien que personne ne pense/croit que cela est important, mais autant vous formez aux bonnes pratiques dès le début et non faire les pires bêtises lors de votre apprentissage.

        En plus, mais je crois que c'est un cas qui se révèle pas, il se peut que pour chaque programme compilé avec une telle configuration, il vous soit demander la DLL, SDL.dll, et cela même si votre programme n'est pas SDL, du coup :D

        • Partager sur Facebook
        • Partager sur Twitter
          27 août 2014 à 13:32:26

          D’accord promis je ferais ça projet par projet par la suite, mais ça ne résout pas mon problème =/.

          • Partager sur Facebook
          • Partager sur Twitter
            27 août 2014 à 13:43:52

            Vous pouvez confirmer ma première interrogation :

            "J'espère que vous avez bien pris la version 32 bits des bibliothèques."

            Notamment, pour SDL_image et SDL_ttf

            Merci :)

            -
            Edité par LittleWhite 27 août 2014 à 13:44:10

            • Partager sur Facebook
            • Partager sur Twitter
              27 août 2014 à 14:14:35

              Oo, bah ah vrai dire j'ai pris les x64 parce que j'ai un windows 64-bits, c'est pas ça?
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                27 août 2014 à 15:59:15

                Non généralement pour Windows 64 bits c'est x86
                • Partager sur Facebook
                • Partager sur Twitter
                  27 août 2014 à 18:25:16

                  Liquiid77 a écrit:

                  Oo, bah ah vrai dire j'ai pris les x64 parce que j'ai un windows 64-bits, c'est pas ça?


                  Liquiid77 a écrit:

                  D’accord promis je ferais ça projet par projet par la suite, mais ça ne résout pas mon problème =/.



                  Et quels sont tes messages d' erreur cette fois ci ???
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Mon site web de jeux SDL2 entre autres : https://www.ant01.fr

                    27 août 2014 à 18:29:14

                    j'ai windows 64 bit mais j'ai pris les version 32 bits car ça ne marche pas avec la version 64 bits donc tu peux essayer de faire de même car là tout est nickel chez toi c'est bizarre. Je pense qu'il doit y avoir une erreur au niveau des fichiers que t'as téléchargé donc essaie 32 bits

                    -
                    Edité par edgeoflight 27 août 2014 à 18:33:46

                    • Partager sur Facebook
                    • Partager sur Twitter
                      28 août 2014 à 10:33:24

                      Bon, les gars, il va falloir être plus scientifique que ça.

                      Vous avez un Windows x64 bits, c'est vrai. Malheureusement, vous avec Code::Blocks et surtout, le compilateur (qui permet de créer des exécutables) en 32 bits.

                      Comme le compilateur est en 32 bits, il ne peut pas : 

                      - produire des exe en 64 bits

                      - lire les bibliothèque en 64 bits (c'est incompatible)

                      Donc, lorsque vous installez les bibliothèque, vous prenez les 32 bits, car c'est la seule chose que votre compilateur permet et comprend.

                      L'informatique, c'est pas de la magie, tout est logique et tout à une explication.

                      • Partager sur Facebook
                      • Partager sur Twitter
                        28 août 2014 à 16:29:20

                        Je vous aime! J'ai juste changer les libs dans SDL/lib par celle x86 au lieu de x64 et j'ai changé les dlls du dossier par les x86 aussi et tous marche maintenant... C'était si simple... C'est bizarre que m@teo prévienne pas de toujours prendre les 32 bits dans son tuto. En tout cas, Merci tout le monde !
                        • Partager sur Facebook
                        • Partager sur Twitter
                          29 août 2014 à 10:10:59

                          m@teo n'en parle pas du tout dans son tutoriel, car à l'époque de la SDL 1 (et l'époque de son tutoriel), les machines 64 bits n'étaient pas encore sur le marché (ça n'existait pas O_o) et donc, que les bibliothèques étaient donc, toutes en 32 bits et il n'était pas possible de faire de confusion.

                          C'est une bonne raison, pour aller voir des tutoriels, qui expliquent correctement et intégralement toutes ces petits détails de l'informatique, afin de devenir bons (limite, devenir le super geek de la classe, qui aide tout le monde). Il faut donc regarder des tutoriels à jour.

                          • Partager sur Facebook
                          • Partager sur Twitter
                            29 septembre 2015 à 21:22:59

                            slt,

                            j'ai le même problème ,je crois qu'il faut copier les fichiers .dll et le fichier  .lib du dossier x86, ca marche pour moi

                            • Partager sur Facebook
                            • Partager sur Twitter
                              23 décembre 2017 à 3:14:06

                              bien qu'ancienne la réponse reste valide :

                              Après avoir subi les mêmes difficultés, avec la version x86 ça marche... Je me prépare à des suées quand, le cours terminé, je passerai tout en SDL 2...

                              • Partager sur Facebook
                              • Partager sur Twitter
                                6 juillet 2019 à 0:36:43

                                Salut j'avais le meme probleme que toi j'ai un ordi x64 j'ai utilisé les fichiers du x64 ça a pas fonctionné dès que j'ai utilisé les fichiers lib du dossier x86 (qui evidemment une architecture 32 bits) ça a compilé ! je pense que c'est du au mingw32 qui est du 32
                                • Partager sur Facebook
                                • Partager sur Twitter

                                undefined reference to `TTF_Init'

                                × 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