22 votes

"Accès refusé" lorsque vous essayez de compiler avec g++ à partir de la ligne de commande. Cygwin

J'ai installé tous les paquets dans cygwin. J'ai également ajouté C:\cygwin\bin pour 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 de travail dans la cygwin fenêtre lot. Personne ne sait quel est le problème?

Edit: j'ai changé les permissions pour gcc et g++. Je n'ai plus l' 'Accès Refusé' erreur, mais en obtenir un nouveau: "Cette version de C:\cygwin\bin\g++.exe n'est pas compatible avec la version de Windows que vous utilisez. Vérifier le système de votre ordinateur pour voir si vous avez besoin d'un x86 (32 bits) ou x64 (64 bits) version du programme, puis contactez l'éditeur du logiciel.".

enter image description here

enter image description here

27voto

Ben Voigt Points 151460

Parce qu' 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.

4voto

iEATeVo Points 71

J'ai juste supprimé gcc et g++ et renommé le g++/cc-4.

3voto

David Harris Points 1902

Sauf si vous êtes un masochiste, utilisez toujours un Cygwin fenêtre lot avec Cygwin exécutables. Aussi, si vous êtes en utilisant Cygwin compilé gcc, vous aurez besoin de la DLL Cygwin pour exécuter les résultats. La Cygwin site qui explique pourquoi. Si vous avez besoin d'exécutables sans la dll Cygwin, j'aimerais explorer MinGW.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X