Question

Je ne l'ai pas fait C depuis longtemps. Je voudrais compiler ce programme , mais je aucune idée de la façon de procéder. Il semble que le makefile se réfère à gcc beaucoup et je ne l'ai jamais utilisé GCC.

Je veux juste un exécutable qui fonctionne sur Windows.

Était-ce utile?

La solution

Vous devrez peut-être installer soit Cygwin ou MinGW, qui sont des environnements de type UNIX pour Windows.

Lors du téléchargement / installation soit Cygwin ou MinGW, vous aurez la possibilité de télécharger et d'installer des fonctions optionnelles; vous aurez besoin de:

  • gcc (essayez d'abord la version 2.x, 3.x pas)
  • binutils
  • GNU make (ou gmake)

Autres conseils

Si elle a besoin gcc et vous souhaitez l'exécuter sous Windows, vous pouvez télécharger Cygwin.

C'est essentiellement un émulateur pour des trucs de type GNU / Linux pour Windows. Il fonctionne avec une DLL d'émulation.

http://www.cygwin.com/

Pour compiler ce programme, vous avez besoin d'un compilateur C. Il ne doit pas être gcc, même si vous êtes déjà donné un Makefile configuré pour utiliser gcc. La chose la plus simple pour vous de faire serait la suivante:

  1. Cygwin
  2. Ouvrez l'invite de commande Cygwin
  3. allez dans le répertoire où vous avez votre makefile
  4. type 'make'
  5. Ce devrait compiler votre programme

Si vous n'êtes pas à l'aise avec l'aide d'outils de ligne de commande, vous pouvez télécharger les libre de MS Visual studio et importer les fichiers source dans un nouveau projet Visual studio. De cette façon, vous auriez pas besoin d'installer Cygwin et utiliser gcc, mais vous devez savoir comment créer des projets et programmes d'exécution dans Visual Studio.

Vous presque certainement pas besoin tous Cygwin pour compiler avec gcc. Il y a beaucoup de clones gcc autonomes pour Windows, comme GCW .

S'il est raisonnable code portable C (je ne l'ai pas regardé), alors vous pourriez être en mesure d'ignorer le Makefile inclus et nourrir la source dans tout ce compilateur que vous voulez utiliser. Qu'est-ce qui se passe quand vous essayez cela?

Dev-C ++ fournit un IDE simple mais agréable qui utilise le compilateur gcc Mingw et fournit soutien Makefile. Voici les étapes que j'ai utilisé pour construire le code ci-dessus en utilisant Dev-C ++ (à savoir c'est un "how-to")

Après avoir téléchargé le zip source de NIST, I

  • téléchargé et installé la version Dev-C ++ 5 beta 9
  • a créé un nouveau projet vide
  • ajouté tous les fichiers .c de m-2.0 \ src

Ensuite, sous Options du projet

  • ajouté -lm dans la colonne Linker sous Paramètres
  • ajouté sts-2.0\include aux répertoires inclure dans des répertoires
  • définir les répertoires Executable et d'objets dans le répertoire obj sous les options de compilation

et puis cliquez sur OK pour fermer la boîte de dialogue. Allez à Exécuter> Compiler et laisser tournoyer. Une minute plus tard, vous pouvez trouver l'exécutable dans le répertoire sts-2.0\obj.

D'abord, il y a peu de chance qu'un programme avec seulement makefiles construira avec le studio visuel, si seulement parce que Visual Studio n'est pas un compilateur bonne C à partir d'un POV standard (les fonctions mathématiques en particulier sont très mal pris en charge sur les compilateurs MS) . Il est peut-être possible, mais il ne sera pas facile, surtout si vous n'êtes pas familier avec C. Vous devriez vraiment tenir aux makefiles plutôt que d'essayer d'importer le code dans votre propre IDE - ce genre de code scienfitic est clairement destiné à être compilée à partir de la ligne de commande. Il est une suite de tests, afin d'essayer des choses au hasard est pas une bonne idée.

Vous devez utiliser MinGW + msys pour l'installer: MinGW vous donnera les compilateurs (gcc, etc ...) et MSys la coque pour le fichier makefile de fonctionner correctement. Contrairement à une autre affiche, je vous conseille de ne pas utiliser gcc 2 - Je ne vois aucun point à cet égard. J'utilise régulièrement gcc 3 (et même 4) sur les fenêtres pour établir le code scientifique, il fonctionne bien lorsque le code est unix (ce qui est la plate-forme standard pour ce genre de code).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top