Passage à VBCC

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

  • demoniak

    • Messages : 165
    #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

    • Messages : 8171
    #16777

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

    Toine

    anonyme

    • Messages : 8171
    #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

    • Messages : 1129
    #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

    • Messages : 165
    #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

    • Messages : 2618
    #16781

    -lc -lauto

    corto

    • Messages : 1129
    #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

    • Messages : 2618
    #16783

    @demoniak

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

    demoniak

    • Messages : 165
    #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

    • Messages : 508
    #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

    • Messages : 165
    #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

    • Messages : 1129
    #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

    • Messages : 165
    #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

    • Messages : 8171
    #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

    • Messages : 2618
    #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