Compilation via AmiDevCPP

12 sujets de 1 à 12 (sur un total de 12)

  • Screetch

      #3713

      Vala, je m’essaie avec AmiDevCPP. Pour ce faire, je tente de compiler un truc que j’avais fait avec GCC sous MOS.

      J’ai transféré mes fichiers, créé mon projet, selectionné MOS en compilation.

      Et là, il me dit qu’il ne trouve pas « stdio.h », le truc tout con !

      Et pourtant, je l’ai dans :

      usr/local/amiga/ppc-morphos/include

      (je n’ai rien touché à la config d’origine de ce côté là).

      Je fais un test avec un bête helloworld et « paf » il ne me trouve toujours pas mon stdio.h

      /me qui est vraiment un cake !

      Edit : Apparement, les liens des includes n’étaient pas fait au niveau du projet, autant pour moi… C’est a signaler car c’est Ok pour une compilation 68K.

      Abonnez-vous à ma nouvelle chronique "En Route vers le Futur" sur Youtube !

      Screetch

        #68106

        Bouh ! Ca m’enerve, il y a des jours comme ça !!

        J’étais motivé mais rien ne va…

        Je retente ma compilation via MOS et voici mon erreur :

        gcc: installation problem, cannot exec ‘/gg/ppc-morphos/bin/as’ : No such file or directory

        Qui pourtant existe, of course…

        Dégouté, j’abandonne pour ce soir…

        Quand rien ne va…

        Abonnez-vous à ma nouvelle chronique "En Route vers le Futur" sur Youtube !

        Yomgui

          #68107

          Laisse tomber… j’ai installe ce truc sur un PC pour pouvoir avoir l’environment cygwin + le SDK MOS… ensuite une petite update cygwin car c’est pas vraiment a jour sinon et enfin je passe par mes propres makefile’s (ou autres) pour compiler car c’est hyper mal configure AmidevCPP pour mos!

          Mais sinon cela marche la compile 8-)

          Screetch

            #68108

            Ca vient de moi ou la dernière archive d’AmiDevCPP est corrompue ?

            http://amidevcpp.amiga-world.de/AmiDevCpp_v09/AmiDevCpp_Monster_Pack_v096_beta_Setup_.zip

            Abonnez-vous à ma nouvelle chronique "En Route vers le Futur" sur Youtube !

            Screetch

              #68109

              Bon maintenant l’install est OK…

              Mais PLIIIIIIIIIZE, si un gars arrive à faire compiler AmiDevCPP, qu’il fasse un petit tutorial pour permettre par exemple la simple compilation du Hello World MUI inclus lors de la création d’un projet MUI…

              J’étais en train de modifier pleins de liens (vers les .h notamment) dans le source lui-même puis je me suis dit que l’auteur a bien dus faire en sorte que son code marche directement si on fait tout comme il faut…

              Meci d’avance !

              Abonnez-vous à ma nouvelle chronique "En Route vers le Futur" sur Youtube !

              Screetch

                #68110

                Lorsque je compile en faisant comme il est expliqué sur le mini tuto en anglais du site, j’ai ces erreurs de compilation :

                Compiler: ppc-MorphOS

                Building Makefile: « C:CrossCompilerAmiDevCppscreetchTestMOSMakefile.win »

                Finding dependencies for file: C:CrossCompilerAmiDevCppscreetchTestMOSTestMOS.c

                Executing make…

                make.exe -f « C:CrossCompilerAmiDevCppscreetchTestMOSMakefile.win » all

                ppc-morphos-gcc.exe -c TestMOS.c -o TestMOS.obj -I »C:/CrossCompiler/AmiDevCpp/usr/local/amiga/ppc-morphos/sys-include » -I »C:/CrossCompiler/AmiDevCpp/usr/local/amiga/ppc-morphos/sys-include/libraries »

                C:CrossCompilerAmiDevCppusrlocalamigalibgcc-libppc-morphos2.95.3cpp0.exe (956): *** proc magic mismatch detected – 0xD94C588A/0xD079E02.

                This problem is probably due to using incompatible versions of the cygwin DLL.

                Search for cygwin1.dll using the Windows Start->Find/Search facility

                and delete all but the most recent version. The most recent version *should*

                reside in x:cygwinbin, where ‘x’ is the drive on which you have

                installed the cygwin distribution. Rebooting is also suggested if you

                are unable to find another cygwin DLL.

                make.exe: *** [TestMOS.obj] Error 1

                Execution terminated

                Oups… Je m’apperçoit que la réponse est peut-être dans cette log… Je n’avais pas vu… J’y retourne…

                Abonnez-vous à ma nouvelle chronique "En Route vers le Futur" sur Youtube !

                Screetch

                  #68111

                  C’est bon, je compile désormais…

                  Par contre j’ai un petit problème avec le « sprintf ».

                  Pour le sous-programme suivant :

                  int test ()

                  {

                  char buffer [50];

                  int n, a=5, b=3;

                  n=sprintf (buffer, « %d plus %d is %d », a, b, a+b);

                  printf (« [%s] is a %d char long stringn »,buffer,n);

                  return 0;

                  }

                  Au lieu d’avoir ceci en retour :

                  [5 plus 3 is 8] is a 13 char long string

                  J’ai :

                  [0 plus 5 is 0] is a 677691802 char long string

                  C’est-y pas un peu bizarre ? Il confond adresse et donnée ?

                  Plutôt que de poster sur AI, y a t-il un autre forum plus orienté développeur (si possible Amiga) qui accepterais un noob ?

                  Abonnez-vous à ma nouvelle chronique "En Route vers le Futur" sur Youtube !

                  Gofromiel

                    #68112

                    M’enfin choups, c’est « %ld » sur amiga, et pas « %d »… enfin je pense :-D

                    corto

                      #68113

                      Un « %d » fait parfaitement l’affaire et devrait afficher « 13 », soit le nombre de caractères affichés par sprintf.

                      La doc indique pour la famille printf : « these functions return the number of characters printed (not including the trailing ‘’ used to end output to strings) »

                      Le programme est-il bien celui montré ? Tu n’aurais pas mis « %d » et oublié de mettre la variable dans les paramètres à suivre ?

                      Screetch

                        #68114

                        Je viens de tester avec %ld. Ca fonctionne mieux ^_^ !

                        Pourquoi l’Amiga est-il different des autres pour sa compilation ? Le C n’est-il pas fait pour être compatible au niveau source si on ajoute pas les librairies graphiques et autres ?

                        Par contre il ne me donne pas la longueur exacte de la chaine…

                        Mon nouveau résultat :

                        [5 plus 3 is 8] is a 575140032 char long string

                        Un problème entre donnée et pointeur ?

                        Abonnez-vous à ma nouvelle chronique "En Route vers le Futur" sur Youtube !

                        Niffo

                          #68115

                          @Screetch :

                          Le « int » est plate-forme dependant. Essaie de ne pas l’utiliser. Utilise plutot des long par exemple si tu veux que ton code se comporte pareil partout.

                          Niffo depuis sa DS sous Linux.

                          Gofromiel

                            #68116

                            La programmation c’est trop l’aventure ! C’est la magie à chaque fois. Les idées qui me viennent :

                            1) essaie d’assigner le résultat de « a+b » dans une nouvelle variable, et utilise cette variable (juste pour la curiosité).

                            2) Utilise « Printf() » (dos.library) au lieu de « printf() » (stdlib)

                            3) Allume un cierge.

                          12 sujets de 1 à 12 (sur un total de 12)

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

                          Forums AmigaOS, MorphOS et AROS Développement Compilation via AmiDevCPP

                          Amiga Impact