Partage
  • Partager sur Facebook
  • Partager sur Twitter

Diffuser mon code

Sujet résolu
    3 novembre 2018 à 15:38:41

    Bonjour,

    Dans le cadre d'un projet de jeu de cartes, j'ai utilisé certaines bibliothèques notamment la SFML, et j'aimerai diffuser mon code (sous Linux et Windows). Pour faire mes tests j'ai bien sûr dû installer ces bibliothèques (et comme j'aime me compliquer la vie, je les ai aussi compilées) mais comme je voudrai diffuser ce projet et mon code, alors je me demandais si je pouvais pas faire un makefile ou un truc dans le genre pour simplifier la compilation. Je voudrai également que ceux qui reçoivent mon code puisse le modifier le plus simplement possible.

    Merci pour votre aide !

    • Partager sur Facebook
    • Partager sur Twitter
      4 novembre 2018 à 14:47:53

      Le mieux est à mon avis d'utiliser cmake, il est vraiment fait pour ça. En plus, tu l'as forcément utilisé si tu as compilé sfml vu que c'est le build system qui est utilisé par sfml ;)
      • Partager sur Facebook
      • Partager sur Twitter
      Mettre à jour le MinGW Gcc sur Code::Blocks. Du code qui n'existe pas ne contient pas de bug
        5 novembre 2018 à 11:18:21

        Je ne peux que plussoyer.
        • Partager sur Facebook
        • Partager sur Twitter

        git is great because Linus did it, mercurial is better because he didn't.

          5 novembre 2018 à 20:32:09

          int21h a écrit:

          Le mieux est à mon avis d'utiliser cmake, il est vraiment fait pour ça. En plus, tu l'as forcément utilisé si tu as compilé sfml vu que c'est le build system qui est utilisé par sfml ;)


          Cmake, ça compilera bien sur tous les OS du moment que l'autre utilise aussi Cmake, c'est bien ça ?
          • Partager sur Facebook
          • Partager sur Twitter
            6 novembre 2018 à 14:17:44

            Pas vraiment non, cmake est un build system. Il prépare la chaine de build, pour la compilation de ton code. Tu crées un script (le fameux CMakeLists.txt), cmake exécute ce script dans l'environnement que tu lui as indiqué pour produire la configuration nécessaire.

            Dans le script, tu vas indiquer les fichier sources de ton programme, le type de sortie que tu veux, exécutable, bibliothèque statique ou dynamique, les bibliothèques externes que tu veux utiliser... et lorsque tu vas lancer cmake avec ce script tu vas lui indiquer pour quel compilateur tu veux le lancer.

            Lorsque tu vas diffuser ton code, tu vas diffuser le CMakeLists.txt avec, de sorte que lorsque par exemple moi je vais le récupérer, il me suffira de relancer cmake en lui demandant de me générer un projet pour Visual C++. CMake me préparera alors tout ce qu'il faut pour pouvoir compiler ton code avec Visual C++.

            • Partager sur Facebook
            • Partager sur Twitter
            Mettre à jour le MinGW Gcc sur Code::Blocks. Du code qui n'existe pas ne contient pas de bug
              6 novembre 2018 à 15:31:23

              Tu peux pas juste :

              if (UNIX)
              //stuff
              endif()
              
              if (APPLE)
              //stuff
              endif()

              ??

              Et proposer des scripts pour rendre ça plus simple :

              cmake.exe -DCMAKE_BUILD_TYPE=Release -DTARGET_ARCH=Win32 -DLIB_SUFFIX=Win32/Release -G"Visual Studio 15" -Tv141_xp . -DCMAKE_INSTALL_PREFIX=./output .



              -
              Edité par LilyKianii 6 novembre 2018 à 16:04:20

              • Partager sur Facebook
              • Partager sur Twitter
                6 novembre 2018 à 21:43:30

                Okay je vois !

                Bah je vous remercie tous pour votre aide, je m'en vais à la recherche d'un tuto cmake.

                • Partager sur Facebook
                • Partager sur Twitter
                  7 novembre 2018 à 9:30:13

                  Celui ci alors : https://cliutils.gitlab.io/modern-cmake/

                  CMake c'est comme le C++, ça a évolué et certaines choses ne doivent plus être faites comme avant :)

                  • Partager sur Facebook
                  • Partager sur Twitter

                  git is great because Linus did it, mercurial is better because he didn't.

                  Diffuser mon code

                  × 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