Obtenez "L'accès est refusé" en essayant de compiler avec g++ depuis la ligne de commande. Cygwin

j'ai installé tous les paquets dans cygwin. J'ai aussi ajouté C:cygwinbin à ma variable PATH. Mais lorsque j'essaie de compiler un fichier c++ en ligne de commande j'obtiens l'erreur "Accès refusé". Les mêmes commandes fonctionnent dans la fenêtre batch de cygwin. Personne ne sait quel est le problème?

Edit: j'ai changé les permissions pour gcc et g++. Je n'obtiens plus l'erreur "Accès refusé" , mais j'en obtiens une nouvelle: "cette version de C:cygwinbing++.exe n'est pas compatible avec la version de Les fenêtres que vous utilisez. Vérifiez les informations du système de votre ordinateur pour voir si vous avez besoin d'une version x86 (32 bits) ou x64 (64 bits) du programme, puis contactez l'éditeur du logiciel.".

enter image description here

enter image description here

23
demandé sur sighol 2011-02-17 22:15:06

3 réponses

Parce que c:\cygwin\bin\gcc.exe n'est pas un fichier exécutable, c'est un cygwin lien symbolique.

$ file /bin/gcc
/bin/gcc: symbolic link to `/etc/alternatives/gcc'
$ file /etc/alternatives/gcc
/etc/alternatives/gcc: symbolic link to `/usr/bin/gcc-4.exe'

Le fichier sous-jacent fonctionne très bien.

C:\cygwin\home\Ben>gcc-4 --version
gcc-4 (GCC) 4.5.0
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
28
répondu Ben Voigt 2011-02-17 19:37:28

je viens de supprimer gcc et g++ et de renommer le G++/cc-4.

4
répondu heftyfunseeker 2012-09-10 02:36:33

sauf si vous êtes masochiste, utilisez toujours une fenêtre de fournée Cygwin avec des exécutables Cygwin. En outre, si vous utilisez le gcc compilé Cygwin, vous aurez besoin de la DLL Cygwin pour exécuter les résultats. Cygwin site web explique pourquoi. Si vous avez besoin d'exécutables sans la dll Cygwin, j'explorerai MinGW.

3
répondu David Harris 2011-02-17 20:51:32