Question

Je suis inscrit à un cours de maîtrise en informatique. Le cours utilise C et l'instructeur veut que nous utilisions Cygwin pour compiler des programmes si nous utilisons Windows.

J'ai téléchargé et installé Cygwin et je me suis assuré d'avoir installé le Compilateur GCC .

Mais je ne sais pas où aller d'ici. J'ai besoin de compiler un fichier source unique contenant un élément de base.

#include <stdio.h> 

Supposons que le fichier se trouve sur mon bureau (ce n’est pas le cas, mais à des fins d’argument). Comment naviguer sur le bureau à partir du shell bash? Je suppose qu'une fois que j'ai navigué jusqu'au bon emplacement dans Bash, j'exécute simplement:

gcc myProgram.c -o myProgram

Mise à jour : j'ai suivi la procédure décrite ci-dessous pour compiler le programme. Je vous en remercie. Mais quand j'exécute le binaire résultant, j'obtiens ce qui suit. Comment puis-je compiler ou exécuter ce programme afin que je ne reçois pas l'erreur? Encore merci.

Cette application n'a pas pu démarrer car cygwin1.dll n'a pas été trouvé. Réinstaller l'application peut résoudre ce problème.

Était-ce utile?

La solution

lorsque vous démarrez dans cygwin, vous êtes dans votre $ HOME, comme dans unix en général, ce qui correspond par défaut à c: / cygwin / home / $ YOURNAME. Donc, vous pouvez tout mettre là.

Vous pouvez également accéder au lecteur c: depuis cygwin via / cygdrive / c / (par exemple, / cygdrive / c / Documents et Paramètres / votre nom / Bureau).

Autres conseils

Concernant votre question mise à jour sur le cygwin1.dll manquant .

À partir de la vérification du terminal Cygwin,

ls /usr/bin/cygwin1.dll

S'il n'est pas présent (j'en doute), votre installation n'est pas correctement effectuée.

Vérifiez ensuite votre chemin avec,

echo $PATH

Ceci donnera à : une liste de chemins séparée. Il DOIT contenir / usr / bin . Si vous trouvez qu'il manque l'ajouter avec,

export PATH=/usr/bin:$PATH

Enfin,

  • J'espère que vous utilisez Cygwin depuis le terminal cygwin (la petite icône verte + noire installée avec Cygwin) ou MinTTY (si vous l'avez installé).
  • Et vous n’avez pas déplacé le fichier EXE compilé sur une autre machine sur laquelle Cygwin n’est pas installé (si vous le faites, vous devrez porter le fichier cygwin1.dll sur cette machine. Conservez-le dans le même dossier que le dossier. EXE compilé).

Recherchez (c'est-à-dire cd à)

/cygdrive/c/

qui sera généralement votre C: \

Regardez également Utilisation de Cygwin , le Introduction de Lifehacker (juin / 2006) et, ce < a href = "http://www.physionet.org/physiotools/cygwin/" rel = "nofollow noreferrer"> page biomed sur PhysioNet .

En ce qui concerne l'erreur cygwin1.dll non trouvée, une solution que j'utilise depuis au moins 8 ans consiste à ajouter les répertoires Cygwin bin à la fin de mon % PATH% dans mon ordinateur - > Propriétés - > Avancé - > Variables d'environnement. Je les ajoute à la fin du chemin afin que, dans mon travail normal, ils soient recherchés en dernier, minimisant ainsi le risque de conflits (en fait, je n’ai eu aucun problème de conflit depuis tout ce temps).

Lorsque vous appelez Cygwin Bash Shell, ces répertoires sont préfixés au % PATH% afin que tout fonctionne comme prévu dans cet environnement également.

Lorsqu'il n'est pas exécuté dans le shell Cygwin, mon % PATH% est:

Path=c:\opt\perl\bin; \
     ...
     C:\opt\cygwin\bin; \
     C:\opt\cygwin\usr\bin; \
     C:\opt\cygwin\usr\local\bin;

Ainsi, par exemple, le perl d'ActiveState Perl est trouvé en premier lorsque je ne suis pas dans un shell Cygwin, mais le perl Cygwin est trouvé lorsque je travaille dans le shell Cygwin.

Pour résumer, voici quelques commandes permettant de naviguer dans un répertoire et de compiler du code à l'aide de Cygwin et Windows Vista:

  1. Démarrer un shell Cygwin.
  2. À l'invite, utilisez cd pour accéder au répertoire approprié:

    $ cd / cygdrive / c / Utilisateurs / nate / Desktop

  3. Utilisez ls pour répertorier les fichiers dans le répertoire:

    $ ls

    prog.c

  4. Utilisez la commande gcc pour compiler un fichier dans ce répertoire:

    $ gcc prog.c -o prog

  5. Si vous ne voyez aucune erreur, vous devriez pouvoir exécuter le programme résultant:

    $ ./prog

Mise à jour:

Pour le " Cygwin1.dll introuvable " erreur, j'aime la réponse de Nik. Vous pouvez également consulter ce post relatif à cygwin1.dll non trouvé , qui suggère d'ajouter c: \ cygwin \ bin \ à votre PATH Windows.

Il existe des instructions sur la modification de la variable Windows PATH pour Windows XP, et sur Vista, je pense que c'est similaire.

  1. Accédez au Panneau de configuration - > Système
  2. Sélectionnez Paramètres système avancés
  3. Cliquez sur l'onglet Avancé
  4. .
  5. Cliquez sur Variables d'environnement
  6. Sous Variables système , recherchez l'entrée Chemin et cliquez sur Modifier
  7. .
  8. Ajoutez c: \ cygwin \ bin à la liste, en veillant à le séparer de tout élément précédent par un point-virgule

Si vous n’êtes pas à l'aise avec bash, vous pouvez continuer à travailler dans un shell de commande Windows classique (par exemple, DOS).

Pour que cela fonctionne, vous devez ajouter C: \ cygwin \ bin (ou votre alternative locale) à la variable Windows PATH.

Ceci fait, vous pouvez:     1) Ouvrez un shell de commande (DOS)     2) Modifiez le répertoire à l'emplacement de votre code (c :, puis cd path \ to \ file)     3) gcc monProgramme.c -o monProgramme

Comme indiqué dans la réponse de nik, le "Utilisation de Cygwin" la documentation est un excellent endroit pour en savoir plus.

Le chemin Windows C: \ src sous cygwin devient / cygdrive / c / src

Si vous ne faites que gcc program.c -o programme -mno-cygwin, la compilation sera parfaite et vous n'aurez pas besoin d'ajouter cygwin1.dll à votre chemin et vous pourrez simplement aller de l'avant et distribuer votre exécutable sur un ordinateur. qui n’a pas installé cygwin et il fonctionnera toujours. J'espère que cela aide

Compiler votre programme C avec Cygwin

Nous allons utiliser le compilateur gcc sur Cygwin pour compiler des programmes.

1) Lancez Cygwin

2) Accédez au répertoire créé pour cette classe en tapant

.

cd c: / windows / desktop

3) Compilez le programme en tapant

gcc monProgramme.c -o monProgramme

la commande gcc appelle le compilateur gcc pour compiler votre programme C.

Il vaudrait peut-être mieux éditer un fichier dans le shell cygwin. Normalement, il possède un répertoire utilisateur par défaut lorsque vous le démarrez. Vous pouvez éditer un fichier à partir du shell en faisant quelque chose comme "vi somefile.c". ou "emacs somefile.c". En supposant que vi ou emacs soient installés dans cygwin.

Si vous souhaitez créer un fichier sur votre bureau, vous devez accéder à un chemin similaire (sous XP) à "/ cygwindrive / c / Documents \ et \ Settings / Frank / Desktop". (Si la mémoire est utilisée correctement). Cd juste à ce chemin, et exécutez votre commande sur le fichier.

Cygwin est très cool! Vous pouvez compiler des programmes à partir d'autres systèmes (Linux, par exemple), et ils fonctionneront . Je parle même de programmes de communication ou de serveurs Web.

Voici un truc. Si vous consultez votre fichier dans l’explorateur de fichiers Windows, vous pouvez taper " cd " dans vos fenêtres bash, faites glisser la barre d'adresse de l'explorateur vers la fenêtre cygwin et le chemin complet sera copié! Cela fonctionne également dans le shell de commande Windows.

En outre: While "cd / cygdrive / c" est le chemin formel, il acceptera également " cd c: " comme raccourci. Vous devrez peut-être faire cela avant de faire glisser le reste du chemin.

Le fichier stdio.h doit être trouvé automatiquement, comme sur un système conventionnel.

Ce fichier (cygwin1.dll) est une dépendance de cygwin similaire à qt dependency. vers le dossier de votre programme .Cela est également nécessaire de s’exécuter sur un autre ordinateur qui n’a PAS cygwin!

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