Compilé des sources (github)

Réduire
X
 
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages
  • Backgamon
    Barbarian


    • mars 2018
    • 313

    #1

    Compilé des sources (github)

    Bonjour

    l'un d'entre vous saurait il compilés des sources?
    Je me suis creer un fork, et j'ai effectués quelques modifications sur la source...la j'ai compris....par contre je suis INCAPABLE de compilé le resultat....
    Pour un autre fork je bidouillais avec Appveyor, mais rien a faire celui la Appveyor n'en veux pas.
    Travis CI compile sans accroc MAIS pas moyen de deployer les builds...Tout essayé sans succes.
    Apparement c'est compilable avec MAKE...mais je comprend pas le systeme
    Si quelqu'un de charitable pouvais m'en compiler un (mednafen_psx_hw.dll)
    Voila deja mon fork:
    https://github.com/backgamon/beetle-psx-libretro

    - Beetle PSX can be built with make. To build with hardware renderer support, run make HAVE_HW=1. make clean is required when switching between HW and non-HW builds. -
    Dernière modification par Backgamon, 29 décembre 2019, 20h24.
  • The Uploader
    MechWarrior


    • février 2010
    • 7353

    #2
    Salut

    Voici -> https://drive.google.com/file/d/1Feo...ew?usp=sharing

    Elle fait 11 Mo, donc il semblerait que la libc (le runtime) est avec. Donc ça devrait aussi fonctionner chez toi.

    Compilé avec MSYS2 -> http://www.msys2.org/

    Procédure :
    Une fois MSYS2 installé, lancer MSYS MinGW 64-bit.
    Code:
    pacman -Syu
    Une fois les mises à jours terminées, relancer le même outil.
    Code:
    git clone https://github.com/backgamon/beetle-psx-libretro
    Code:
    pacman -S mingw-w64-x86_64-headers
    Code:
    make HAVE_HW=1
    RUNEXITW : pour quand RUNEXIT quitte le jeu trop tôt |
    Pack émulation PCem + Windows 95 | Pack émulation PCem + Windows 98SE | Pack émulation DOSBox + Win 3.11 | Pack PCem + Win 3.11 | Ma collection de wrappers (pas à jour)

    Commentaire

    • Backgamon
      Barbarian


      • mars 2018
      • 313

      #3
      Je ne sais pas comment te remercier
      Cela fonctionne a merveille.
      Les développeurs de Psx Beetle ont changé le système de gestion de l'affichage...et je préférais l'ancien (plein écran sans bandes noires).
      Or il se trouve que l'un d'entre eux a résolu un problème de longue date...mais recuperable uniquement avec le nouveau système de gestion.
      Ma modif a fonctionné!
      Grace a toi j'ai la correction + le plein écran
      ----------
      J'essaierai avec tes conseils pour le prochain build.

      Commentaire

      • Backgamon
        Barbarian


        • mars 2018
        • 313

        #4

        Je tente d'utilisé MSYS MinGW 64-bit.
        Code:
        git clone https://github.com/backgamon/beetle-psx-libretro
        Y me sort ça:
        Code:
        bash: git : commande introuvable

        Commentaire

        • The Uploader
          MechWarrior


          • février 2010
          • 7353

          #5
          Code:
          pacman -S git
          Ou installer Git for Windows : https://git-scm.com/
          RUNEXITW : pour quand RUNEXIT quitte le jeu trop tôt |
          Pack émulation PCem + Windows 95 | Pack émulation PCem + Windows 98SE | Pack émulation DOSBox + Win 3.11 | Pack PCem + Win 3.11 | Ma collection de wrappers (pas à jour)

          Commentaire

          • Backgamon
            Barbarian


            • mars 2018
            • 313

            #6
            Pour le GIT c'est bon.
            Par contre, comment je lance la compilation?
            J'ai donc le GIT, j'ai compris pour "make"
            Code:
            pacman -S make
            Mais je ne vois pas comment lancer :/

            Code:
            $ make HAVE_HW=1
            make: *** Pas de cible spécifiée et aucun makefile n'a été trouvé. Arrêt.
            Code:
            $ make /home/backgamon/beetle-psx-libretro HAVE_HW=1
            make: rien à faire pour « /home/backgamon/beetle-psx-libretro ».

            Commentaire

            • The Uploader
              MechWarrior


              • février 2010
              • 7353

              #7
              Il faut te mettre dans le dossier où les sources sont.

              Code:
              cd beetle-psx-libretro
              Puis :
              Code:
              make HAVE_HW=1
              Par ailleurs :
              Code:
              cd c:
              Te mettre à la racine de c: (monté en tant que /c dans MSYS)
              RUNEXITW : pour quand RUNEXIT quitte le jeu trop tôt |
              Pack émulation PCem + Windows 95 | Pack émulation PCem + Windows 98SE | Pack émulation DOSBox + Win 3.11 | Pack PCem + Win 3.11 | Ma collection de wrappers (pas à jour)

              Commentaire

              • Backgamon
                Barbarian


                • mars 2018
                • 313

                #8
                Snif, je croyais vraiment que j'y arrivais enfin mais...
                Code:
                $ make HAVE_HW=1
                CXX mednafen/psx/irq.cpp
                CXX mednafen/psx/timer.cpp
                CXX mednafen/psx/dma.cpp
                CXX mednafen/psx/frontio.cpp
                CXX mednafen/psx/sio.cpp
                CXX mednafen/psx/cpu.cpp
                CXX mednafen/psx/gte.cpp
                mednafen/psx/cdc.cpp: Dans la fonction membre « void PS_CDC::SetDisc(bool, CDIF*, const char*) »:
                mednafen/psx/cdc.cpp:122:17: attention: la limite spécifiée par « char* strncpy(char*, const char*, size_t) » (4) est égale à la taille de la destination [-Wstringop-truncation]
                  122 |          strncpy((char *)DiscID, disc_id, 4);
                      |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
                CXX mednafen/psx/cdc.cpp
                CXX mednafen/psx/spu.cpp
                CXX mednafen/psx/gpu.cpp
                CXX mednafen/psx/mdec.cpp
                CXX mednafen/psx/input/gamepad.cpp
                CXX mednafen/psx/input/dualanalog.cpp
                CXX mednafen/psx/input/dualshock.cpp
                CXX mednafen/psx/input/justifier.cpp
                CXX mednafen/psx/input/guncon.cpp
                CXX mednafen/psx/input/negcon.cpp
                CXX mednafen/psx/input/memcard.cpp
                CXX mednafen/psx/input/multitap.cpp
                CXX mednafen/psx/input/mouse.cpp
                mednafen/cdrom/CDAccess.cpp: Dans la fonction « CDAccess* cdaccess_open_image(bool*, const char*, bool) »:
                mednafen/cdrom/CDAccess.cpp:50:29: erreur: « strcasecmp » n'a pas été déclaré dans cette portée; vouliez-vous employer « strncmp » ?
                   50 |    if(strlen(path) >= 4 && !strcasecmp(path + strlen(path) - 4, ".ccd"))
                      |                             ^~~~~~~~~~
                      |                             strncmp
                make: *** [Makefile:632: mednafen/cdrom/CDAccess.o] Error 1

                Commentaire

                • Backgamon
                  Barbarian


                  • mars 2018
                  • 313

                  #9
                  A force de m’acharnè j'ai réussi a aller plus loin, mais il rebloque T__T
                  Code:
                  C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: mednafen/psx/frontio.o:frontio.cpp:(.text+0x83e): undefined reference to `operator new(unsigned long)'
                  C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: mednafen/psx/frontio.o:frontio.cpp:(.text+0x8a7): undefined reference to `operator new(unsigned long)'
                  C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: mednafen/psx/frontio.o:frontio.cpp:(.text+0x910): undefined reference to `operator new(unsigned long)'
                  C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: mednafen/psx/frontio.o:frontio.cpp:(.text+0x92a): undefined reference to `operator new(unsigned long)'
                  C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: mednafen/psx/frontio.o:frontio.cpp:(.text+0x204a): undefined reference to `operator new(unsigned long)'
                  C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: mednafen/psx/gpu.o:gpu.cpp:(.text+0x48c1eb): undefined reference to `operator new[](unsigned long)'
                  C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: mednafen/psx/gpu.o:gpu.cpp:(.text+0x48c799): undefined reference to `operator new[](unsigned long)'
                  C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: mednafen/psx/gpu.o:gpu.cpp:(.text+0x48c882): undefined reference to `operator new[](unsigned long)'
                  C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: mednafen/psx/gpu.o:gpu.cpp:(.text+0x48e0a9): undefined reference to `operator new[](unsigned long)'
                  C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: mednafen/psx/input/gamepad.o:gamepad.cpp:(.text+0x40e): undefined reference to `operator new(unsigned long)'
                  C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: mednafen/psx/input/dualanalog.o:dualanalog.cpp:(.text+0x511): undefined reference to `operator new(unsigned long)'
                  C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: mednafen/psx/input/dualshock.o:dualshock.cpp:(.text+0x1322): undefined reference to `operator new(unsigned long)'
                  C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: mednafen/psx/input/justifier.o:justifier.cpp:(.text+0x7ce): undefined reference to `operator new(unsigned long)'
                  C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: mednafen/psx/input/guncon.o:guncon.cpp:(.text+0x7be): undefined reference to `operator new(unsigned long)'
                  C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: mednafen/psx/input/negcon.o:negcon.cpp:(.text+0x37e): more undefined references to `operator new(unsigned long)' follow
                  C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: mednafen/psx/input/memcard.o:memcard.cpp:(.text+0xad2): undefined reference to `std::string::append(char const*, unsigned long)'
                  C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: mednafen/psx/input/memcard.o:memcard.cpp:(.text+0x131e): undefined reference to `operator new(unsigned long)'
                  C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: mednafen/psx/input/mouse.o:mouse.cpp:(.text+0x5ae): undefined reference to `operator new(unsigned long)'
                  collect2.exe: error: ld returned 1 exit status
                  make: *** [Makefile:627: mednafen_psx_hw_libretro.dll] Error 1

                  Commentaire

                  • Warrens
                    Champion


                    • janvier 2003
                    • 962

                    #10
                    Bonjour,
                    L'erreur undefined reference arrive à l'édition des liens (dernière étape de fabrication d'un executable ou d'une bibliothèque), souvent lorsqu'il manque la definition d'une fonction (avec ses instructions internes, par opposition au protoype qui est seulement la signature de la fonction, par exemple : void makeSomething(int argumentOne, const char * str); ). Dans ton cas, je dirais qu'il manque un fichier cpp à compiler ou alors que tu n'as pas 'linké'/''lié' ton projet à une certaine bibliothèque. Regarde bien que tu as compilé tous les fichiers "cpp". Pour que tu comprennes 'undefined reference, regarde le fichier suivant (c'est un exemple):
                    Code:
                    //Fichier "Beta.cpp"
                    #include "Beta.h"
                    #include "functionsAlphas.h"
                    
                    //Ici du code et notamment un appel à une fonction qui as son prototype dans "functionsAlphas.h", par exemple:
                    void makeSomethingBeta(int arg1, const char * strBeta) //<--- definition d'une fonction dans Beta.cpp, qui doit avoir son protoype dans "Beta.h"
                    {
                        //Ci-dessous, appel à une fonction definie dans le fichier functionsAlphas.cpp (qui n'est pas inclu dans la compilation du projet (oubli, ou autre)
                        makeSomethingAlpha( arg1, strBeta );  
                    }
                    
                    //Comme le prototype se trouve dans functionsAlphas.h, la compilation se passe sans problème pour ce fichier (Beta.cpp), mais à l'édition des liens, le compilateur s'aperçoit qu'il n'a pas la definition de la fonction (dans 'functionsAlphas.cpp'), d'où l'erreur 'undefined reference tout à la fin.
                    Par rapport aux bibliothèques:
                    -Dosbox utilise la SDL (Simple Direct media Layer) en version 1.x , (j'utilise la SDL 2.0 dans mes jeux vidéos) je pense qu'il y a dans les fichiers de DOSBOX des lignes du genre :
                    Code:
                    #include "SDL.h"
                    
                    void runDosBox( int argc, char **argv[] )
                    {
                        //Ici on a besoin des fonctions de la SDL, on inclut son header (SDL.h) qui contient entre autres les prototypes des fonctions de cette bibliothèque, la definition des fonctions se trouve dans les fichiers .lib au moment de la compilation et dans SDL.dll au moment de l'execution du fichier .exe
                    }
                    Dernière modification par Warrens, 01 janvier 2020, 14h48.
                    Je dis Joker ! Je peux donc rejouer...

                    Commentaire

                    • Backgamon
                      Barbarian


                      • mars 2018
                      • 313

                      #11
                      ENFIN! ca y est....j'ai REUSSI!...
                      J'ai tout recommencé depuis le debut, et ce coup ci, cela s'est terminé sans probleme...
                      Merci pour votre aide.

                      Commentaire

                      Chargement...