Passage à VBCC

15 sujets de 1 à 15 (sur un total de 34)

  • demoniak

      #410

      Je me suis décidé à utiliser VBCC au lieu du vieux SAS C.

      Mais je rencontre quelques problèmes :

      – Je n’ai pas trouvé de ‘make’

      J’ai donc utilisé le vieux smake du sas, modifié mes makefiles pour utiliser les options du compilateur et du linker, mais encore un nouveaux prob : le linker me génère l’erreur suivante :

      Fatal error 11 : xxx.o: File format not recognized

      voici mon makefile :

      ###############

      # Definitions #

      ###############

      MODNAME = CPC

      C_COMPILER = VC

      C_COMPILER_OPTS = -c -O4 -cpu=68020 -+

      LINKER = VLINK

      LINKER_OPTS =

      STARTUP = LIB:c.o

      LIBS = LIB:sc.lib LIB:amiga.lib

      OBJECTS = ppi.o upd.o vga.o crtc.o process.o z80.o draw.o main.o

      ##############################

      # Generation de l’executable #

      ##############################

      $(MODNAME): $(OBJECTS) $(LIBS)

      $(LINKER) $(STARTUP) $(OBJECTS) $(LIBS) $(LINKER_OPTS) -o $(MODNAME)

      #######################################

      # Generation des fichiers objets (.o) #

      #######################################

      .c.o:

      $(C_COMPILER) $(C_COMPILER_OPTS) $*.c

      ############################

      # dependances des fichiers #

      ############################

      vga.o : vga.c vga.h

      ppi.o : ppi.c ppi.h

      upd.o : upd.c upd.h

      crtc.o : crtc.c crtc.h vga.h

      z80.o : z80.c Z80.h vga.h crtc.h ppi.h upd.h gestport.h

      process.o : process.c process.h

      draw.o : draw.c vga.h z80.h

      main.o : main.c vga.h upd.h z80.h draw.h

      Bon, ce n’est peut-être pas l’endroit idéal pour poster ce genre de demande, mais je sais que les forums ici sont bien fréquentés.

      Merci d’avance !

      anonyme

        #16777

        Le forum de http://www.guru-meditation.net est plus adapté je pense ! Des experts t’y répondront !

        Toine

        anonyme

          #16778

          Juste un question comme ça, elle sert à quoi la rubrique développement d’Amigaimpact si à chaque demande d’un utilisateur vous le renvoyé sur gurumed ??

          gurumed est sans doute très bien mais si personne ne répond plus aux questions posé dans cette rubrique alors pourquoi ne pas tous simplement la supprimer et mettre un lien gurumed à la place ?

          corto

            #16779

            Bienvenu dans le monde merveilleux de VBCC ! On va t’aider à trouver tes marques.

            La commande make est chez moi celle de la distrib GCC.

            Tu as laisser STARUP et LIBS à la sauce SAS/C. Tu n’as pas besoin de startup et la seule lib dont tu peux avoir besoin ici c’est l’amiga.lib mais avec VBCC tu dois la linker avec « -lamiga ».

            A ta place je n’utiliserais pas le linker directement. La génération de l’exe devient :

            $(MODNAME): $(OBJECTS)

            $(C_COMPILER) $(LINKER_OPTS) -o $(MODNAME) $(OBJECTS) $(LIBS)

            Avec LIBS contenant : -lamiga

            Au lieu de C_COMPILER, on utilise traditionnellement CC.

            N’hésite pas si ça coince encore.

            demoniak

              #16780

              Merci Corto ! 8-)

              Bon, ça ne link pas encore, mais j’avance…

              J’ai maintenant des messages du genre :

              Undefined reference to _fopen

              Il doit me manquer une librairie.

              Ensuite, j’ai les messages suivants :

              Undefined reference to _IntuitionBase

              et sur _AslBase, _GfxBase…

              Et oui… Le Sas gérait automatiquement l’ouverture des libs systèmes… Bon, je vais revoir mon code, et je vous tiens au courant…

              henes

                #16781

                -lc -lauto

                corto

                  #16782

                  demoniak a écrit :

                  Bon, ça ne link pas encore, mais j’avance…

                  J’ai maintenant des messages du genre :

                  Undefined reference to _fopen

                  Il doit me manquer une librairie.

                  Oui … bizarre que ça bloque la-dessus. Tu n’as eu de problème à la compilation ? Juste au link ? fopen est dans vc.lib qui doit être linké automatiquement je suppose.

                  Tu as bien viré vlink de ton makefile ?

                  Ensuite, j’ai les messages suivants :

                  Undefined reference to _IntuitionBase

                  et sur _AslBase, _GfxBase…

                  Et oui… Le Sas gérait automatiquement l’ouverture des libs systèmes… Bon, je vais revoir mon code, et je vous tiens au courant…

                  Bon, et bien tu connais déjà la solution :)

                  Déclarer tout ça et ouvrir les libs à la mimine !

                  On y est presque.

                  henes

                    #16783

                    @demoniak

                    N’écoute pas Corto. Link avec -lauto.

                    demoniak

                      #16784

                      Encore merci à vous deux, Corto et Henes.

                      J’avance petit à petit… Je compile et Link sans erreur, mais

                      lorsque je lance mon prog, rien ne se passe.

                      Un problème de startup je pense…

                      Je vais continuer à creuser…

                      stan

                        #16785

                        A propos du make, cet article sur GuruMed pourrait peut-être te renseigner : http://www.guru-meditation.net/main.php3?root=412

                        Comme l’a dit Corto, il ne faut pas utiliser vlink directement pour linker, mais vc. L’article ci-dessus en donne un exemple.

                        Comme l’a dit Henes, il faut linker avec auto.lib (« -lauto ») pour que les libs soient ouvertes et fermées automatiquement. Par contre il est inutile de spécifier « -lc » si tu utilises vc pour linker.

                        demoniak

                          #16786

                          Merci Stan !

                          Ca y est, ça compile, ça link, je lance l’executable…

                          Les messages d’initialisation s’affichent…

                          Et puis j’ai un beau guru…

                          Bon, maintenant, je n’ai plus qu’à revoir les sources…

                          Encore merci à vous tous de m’avoir donné un coup de main !

                          corto

                            #16787

                            henes a écrit :

                            N’écoute pas Corto. Link avec -lauto.

                            C’est marrant, je n’utilise plus -lauto depuis que tu avais dit que c’était nul/moche/pour les feignasses/déconseillé/… ou je ne sais quoi d’autre, je ne me souviens plus du terme exact.

                            demoniak

                              #16788

                              Bonjour à tous !

                              Ce petit post pour dire que mon programme fonctionne maintenant !

                              Voila, je suis content, il ne me reste plus qu’à essayer d’en faire une version PowerPc…

                              Encore merci à tous ceux qui m’ont éclairé sur la voie de VBCC !

                              anonyme

                                #16789

                                corto a écrit :

                                henes a écrit :

                                N’écoute pas Corto. Link avec -lauto.

                                C’est marrant, je n’utilise plus -lauto depuis que tu avais dit que c’était nul/moche/pour les feignasses/déconseillé/… ou je ne sais quoi d’autre, je ne me souviens plus du terme exact.

                                C’est marrant: il me semble avant lu ca aussi ;)

                                @+,

                                Léo.

                                henes

                                  #16790

                                  La libauto c’est pour les boeufs, oui.

                                  Il disait que SAS/C « gérait automatiquement l’ouverture des libs systèmes ».

                                  En rajoutant -lauto, il a vu que VBCC aussi.

                                15 sujets de 1 à 15 (sur un total de 34)

                                • Vous devez être connecté pour répondre à ce sujet.

                                Forums AmigaOS, MorphOS et AROS Développement Passage à VBCC

                                Amiga Impact