web-dev-qa-db-fra.com

Comment installer un programme Windows (écrit en C) téléchargé à partir de GitHub?

J'ai téléchargé un programme Windows simple mort depuis GitHub ( this s'il est pertinent). Je l'ai téléchargé sous forme de fichier Zip, mais je ne sais pas comment l'installer. C'est écrit en C, je pense. Ai-je besoin d'un compilateur? (Visual Studio?) Y a-t-il quelque chose de simple qui me manque?

43
Josh Friedlander

Github est principalement utilisé par les programmeurs pour collaborer à des projets. L'option «Télécharger Zip» télécharge une copie du code source sur votre ordinateur. Cette habituellement1 ne contient pas de copie des exécutables/fichiers binaires utilisables compilés (c.-à-d. des fichiers exe)

Communiqués , est une fonctionnalité de Github destinée à l'envoi de logiciels aux utilisateurs finaux (qui ne sont généralement pas intéressés par le codage proprement dit). Les versions sont accompagnées de notes de publication et de liens permettant de télécharger le logiciel ou le code source. C'est le premier endroit où vous devriez vérifier les fichiers binaires.

Dans votre cas, la page releases propose des téléchargements et des fichiers d'installation.

Cependant, de nombreux projets n’auront aucune version (en particulier pour Windows), auquel cas vous pouvez effectuer l’une des opérations suivantes:

  1. Rechercher des fichiers binaires ailleurs sur Internet. Habituellement, les moteurs de recherche tels que DuckDuckGo (ou Google , si vous préférez) trouveront facilement ce que vous voulez. Essayez de rechercher <application name> for Windows ou <application name> exe.

  2. Compilez-le vous-même. Vous devez avoir au moins quelques connaissances de base du langage de programmation pour pouvoir le faire. Là encore, les moteurs de recherche peuvent être massivement utiles. Essayez de rechercher compile <application name> on Windows ou MinGW compile <application name>.

    Ici, je vais passer en revue les bases de la compilation des utilitaires pour Widnows:

    • Télécharger MinGW . Personnellement, je préfère this package car il vient avec boost (utilisé par plusieurs applications) et un shell cool. Il contient également git, ce qui peut s'avérer très utile si vous souhaitez compiler des fichiers hébergés sur Github ou d'autres référentiels de contrôle de version Git sans avoir à télécharger séparément le code source.

    • Exécutez les commandes suivantes dans cmd ou powershell:

      • cd c:\sources\hello: Modifiez le répertoire en quel que soit l'emplacement du ou des fichiers source.
      • g++ helloworld.cpp -o helloworld.exe: here helloworld.cpp est le nom du fichier source principal et helloworld.exe est le nom de l'exécutable compilé.
      • Au cas où vous deviez compiler plusieurs fichiers, listez-les avant le commutateur -o: g++ helloworld.cpp foo.cpp -o helloworld.exe
      • Ce sont les instructions pour C++. Si vous utilisez des applications programmées en C, l’extension de fichier sera .c au lieu de .cpp et vous devez utiliser la commande gcc au lieu de g++. Le reste est plus ou moins identique
      • Notez que vous devrez peut-être spécifier plus d'arguments de ligne de commande pour compiler un exécutable qui fonctionne correctement. La page du projet contiendra généralement ces détails.
      • Toi aussi probablement vraiment envie de regarder dans les makefiles. Ceci Stack Overflow post concerne les makefiles en général, et celui-ci nous explique comment les utiliser avec MinGW.Si un projet contient un fichier Make, essayez-le avant de compiler manuellement le source.
      • Vous devriez maintenant pouvoir exécuter helloworld.exe.
    • Remarque: La plupart des projets sont accompagnés d'un fichier README. Veuillez faire ce que le nom implique, ces fichiers contiennent des informations importantes sur la compilation et l’exécution de logiciels et, en les lisant, vous évitez beaucoup de problèmes inutiles.

1Remarque: Il peut parfois y avoir un dossier appelé bin parmi les fichiers téléchargés, qui devrait contenir des exécutables/binaires utilisables

Voir aussi Cygwin et GOW si vous voulez des utilitaires de ligne de commande GNU/Linux sous Windows. Je fais en sorte que la dernière version de certains exécutables utiles soit téléchargeable ici .

Lectures supplémentaires:
http://www.mingw.org/wiki/MinGW_for_First_Time_Users_HOWTO
https://gcc.gnu.org/onlinedocs/index.html#dir
https://stackoverflow.com/questions/22873884/how-do-i-run-configure-with-mingw

28
rahuldottech

Vous regardez autour de vous et trouvez l'installateur sur la page release . Bien sûr, vous pouvez compiler la source, mais je ne pense pas que ce soit ce que vous voulez.

85
Journeyman Geek

Les fichiers .c et .h sont du code source C.

Vous devrez installer un compilateur C tel que Visual Studio, tcc ou quelque chose de similaire, charger le projet, puis le compiler pour l'exécuter.

À défaut, le projet possède une page de publication ( here ) qui vous donnera accès à une version précompilée pour vous faire gagner du temps et des efforts.

65
Fazer87

Cette réponse portera sur la question générale de la création d'une application Windows source uniquement (en C). Si vous avez de la chance, comme l'OP, vous pourrez peut-être trouver des fichiers binaires précompilés.

La première chose à prendre en compte ici est qu'il n'y a pas un seul moyen de créer une application à partir des sources. Il y a environ autant de variantes que de projets. Cela dit, voici quelques étapes générales:

  1. Si vous avez de la chance, le projet fournira des instructions de construction, généralement dans le fichier README. De temps en temps, il peut également y avoir un fichier INSTALL ou une autre documentation disponible. Si ceux-ci sont disponibles, suivez les instructions. Ils sont votre meilleur pari.

    Comme d’autres l’ont dit, il est malheureusement très difficile de reconstruire les étapes de construction requises sans instructions. Cependant, nous pouvons au moins faire un effort au mieux, ce qui fonctionnera pour la plupart des projets simples.

  2. En l'absence d'instructions, le prochain point de contact est de vérifier quel outil de construction est requis.

    1. Si vous trouvez un fichier avec une extension .sln ou .vcxproj, il s'agit probablement d'un projet MSBuild/Visual Studio. Téléchargez une copie de Visual Studio Community ou Express (pour C++), ouvrez-y le fichier de projet et cliquez sur le bouton de lecture de la barre d'outils (ou utilisez le menu de génération).

    2. Si vous trouvez une Makefile, il faudra probablement make. Mais c’est là que les choses deviennent encore plus difficiles, car il existe tellement de systèmes indépendants et incompatibles qui utilisent make.

      1. Comme il est destiné à Windows, il utilisera probablement/ MinGW . Téléchargez-en une copie, lancez MSYS à partir du menu Démarrer, naviguez (cd) vers le répertoire contenant votre projet et exécutez make.

      2. Dans les rares cas où il s’agit plutôt de Cygwin (il n’existe malheureusement pas de moyen facile de le savoir, mais si le générateur MinGW génère une erreur liée à "posix", c’est un pari décent), vous devrez installer Cygwin au lieu. Malheureusement, cela ne crée pas de fichiers binaires Windows natifs - vous devez lancer le programme via Cygwin à chaque fois.

    3. L'outil de construction peut être un script personnalisé portant le nom build.bat ou similaire. Dans ce cas, vous devrez soit l'ouvrir et voir ce qu'il contient, soit essayer de l'exécuter et voir quelles sont les erreurs. Si vous l'ouvrez et que vous voyez des mentions de GCC, remontez à la 2.2.1. Étape MinGW mais exécutez le script personnalisé au lieu de make.

  3. Il est possible qu'il n'y ait pas d'outil de construction du tout. Si tout ce que vous rencontrez est un seul fichier .c ou .cpp, il est probablement assez simple pour que vous puissiez effectuer une compilation directe. Ce sont presque toujours MinGW , alors téléchargez-le, lancez le shell MSYS, accédez au répertoire et appelez gcc ou g++ si nécessaire - par exemple. gcc -o program.exe program.c

  4. Il est possible qu'aucune de ces solutions ne fonctionne. Si vous recevez des messages d'erreur à n'importe quelle étape, ils peuvent contenir un indice sur ce qui manque. Une possibilité est que vous manquiez de certains frameworks ou bibliothèques requis - si vous le souhaitez, vous pouvez essayer de les télécharger et de les ajouter à votre environnement de construction, mais ce n'est généralement pas un processus trivial et comporte de nombreuses variantes. façon de les couvrir dans une réponse.


Glossaire

Construire des outils

Un outil de génération _ vous permet de construire un projet avec très peu de commandes. Pour la plupart des projets comportant plusieurs fichiers sources, un outil de construction sera impliqué quelque part. Il existe plusieurs outils de construction, mais les plus courants sont les suivants:

  • make , utilisé partout sous Linux et de plus en plus répandu sous Windows. Les projets utilisant make peuvent généralement être identifiés par la présence deMakefile.

  • MSBuild est spécifique à Windows et est généralement associé à Visual Studio. Celles-ci seront généralement accompagnées d'un fichier*.slnou*.vcxproj.

Chaînes d'outils

A chaîne d'outils est le compilateur et les outils associés. Tout comme les outils de construction, il en existe plusieurs, et ils sont généralement utilisés avec l'un des outils de construction.

  • MSVC est la chaîne d'outils de Microsoft. C'est la chaîne d'outils la plus courante pour le développement natif Windows. Cela est généralement utilisé avec le système MSBuild et les générations sont généralement créées via Visual Studio. Cependant, les projets MSVC modernes peut utilisent aussi Makefile.

  • GCC ( MinGW ) est un port de GCC pour Windows. Habituellement utilisé avec make. Si le projet cible Windows de manière native et qu'il a une Makefile, c'est probablement pour MinGW-GCC.

  • GCC ( Cygwin ) crée un environnement compatible POSIX. Cela vous permet de compiler directement la plupart des programmes écrits pour Linux ou Unix et de le faire fonctionner directement sous Windows. Plus récemment dans Windows 10, Bash sur Ubuntu sous Windows est une alternative. GCC est généralement utilisé avec make.

Cadres et bibliothèques

Bibliothèques sont des ensembles de code réutilisables écrits par d'autres personnes, sur lesquels de nombreux programmes dépendent pour éviter de réinventer la roue. Vous devez disposer de ces dépendances pour pouvoir construire le projet. Si vous avez de la chance, ils seront inclus dans votre téléchargement initial, mais ce n'est pas toujours le cas.

Frameworks sont en réalité une collection de bibliothèques. De nombreux projets utilisent un seul framework dont vous aurez également besoin. Ceux-ci viennent souvent avec leur propre système de construction aussi, mais les lister tous serait impossible.

La partie la plus difficile concerne les dépendances supplémentaires du framework et de la bibliothèque. Si, par exemple, le projet utilise Qt -, vous aurez besoin de tout ce gâchis pour le construire correctement. Il s’agit d’une tâche gigantesque et, à moins que vous n’ayez de l’expérience préalable, il est probablement préférable de demander de l’aide directe à d’autres personnes.

17
Bob