web-dev-qa-db-fra.com

Impossible d'ouvrir le fichier de sortie, autorisation refusée

Je continue donc à avoir cette erreur en essayant de compiler du code C++ en utilisant CodeBlocks.

ne peut pas ouvrir le fichier de sortie [nom_fichier.exe] autorisation refusée

Cela a seulement commencé aujourd'hui, et c'est sporadique et incohérent. Cela disparaît généralement si je ferme CodeBlocks et redémarre le projet, mais pas toujours. Parfois, cela disparaît même lorsque j'appuie plusieurs fois sur F9 (build & run). Je vérifie toujours le Gestionnaire des tâches, mais il n'y a jamais aucun fichier .exe s'exécutant avec le nom de mon fichier ni quoi que ce soit qui lui soit associé. 

J'ai également remarqué que si ce problème se produisait et que j'essayais ensuite de supprimer le fichier .EXE manuellement ou autrement, Windows m'indique que j'ai besoin de l'autorisation de l'administrateur pour le faire (il s'agit d'un ordinateur privé suis un administrateur dessus).

La première fois que cela s'est produit, la seule chose que j'avais ajoutée au code au-delà de ce qui était dans la version précédente était un rapport de débogage envoyé à cout - presque rien d'arcane. Cela se produit parfois même si aucun code n'a été modifié depuis une version précédente.

Qu'est-ce que cela pourrait être? Ce n'est pas encore révolutionnaire, mais c'est irritant et je préférerais que cela n'empire pas.

EDIT: C’est vieux, mais au cas où quelqu'un aurait des problèmes similaires, la solution que j’utilise actuellement consiste à supprimer systématiquement [nomfichier.exe] avant de tenter de réexécuter le code. Cela évite le problème, bien que ce soit ennuyeux.

59
GarrickW

vérifiez que "nomfichier.exe" n'est pas en cours d'exécution. J'imagine que vous utilisez Microsoft Windows. Dans ce cas, vous pouvez utiliser le Gestionnaire des tâches ou l'Explorateur de processus: http://technet.Microsoft.com/en-us/sysinternals/ bb896653 pour tuer "nomfichier.exe" avant d'essayer de le générer.

91
willll

J'ai rencontré le même problème que vous avez. J'ai trouvé qu'il pouvait y avoir un lien avec la façon dont vous terminez votre résultat d'exécution. Lorsque vous exécutez votre code, qu’il ait ou non une impression, le débogueur appelle la console qui affiche un message "Appuyez sur n’importe quelle touche pour continuer ...". Si vous arrêtez la console en appuyant sur la touche, tout va bien. Si vous le faites en cliquant sur le bouton de fermeture, le problème vient comme vous l'avez décrit. Lorsque vous le terminez de cette manière, vous devez attendre plusieurs minutes avant de pouvoir reconstruire votre code.

11
Sam

Cette erreur se produit généralement lorsque IDE a un problème en raison d'un blocage ou d'un autre échec et qu'il maintient toujours le fichier EXE en attente, ce qui empêche l'utilisateur (vous-même) d'écraser ou de supprimer le fichier EXE lors d'une reconstruction.

3
user195488

Je viens d'avoir le même problème. Et j’ai constaté que cela se produit toujours lorsque j’exécute le programme et que je modifie du code sans terminer le programme en cours d’exécution. Après cela, le message "impossible d'ouvrir ..." apparaît.

Cependant, je m'en suis débarrassé en cliquant sur le bouton "Terminer" tout en haut à droite de la fenêtre de la console (bouton rouge) et après "supprimer tous les lancements terminés" (deux x'es juste à côté du bouton de fin). Cela semble fermer le programme en cours et tout fonctionne bien après :) espérons que cela pourra aider n'importe qui

2
Laiebi

Bonjour, je me rends compte que ce message est ancien, mais voici quand même mon opinion . Cette erreur se produit lorsque vous fermez la fenêtre de sortie de la console à l'aide de l'icône de fermeture au lieu d'appuyer sur "une touche quelconque pour continuer"

2
user2203361

Le problème est lié à la réponse de Sam: 

"ont rencontré le même problème que vous. J’ai découvert qu’il pouvait avoir une certaine relation avec la façon dont vous terminez le résultat de l’exécution. Lorsque vous exécutez votre code, qu’il ait une impression, le débogueur appelle le console qui affiche un message "Appuyez sur n’importe quelle touche pour continuer ...". Si vous fermez la console en appuyant sur la touche, c’est ok; si vous le faites en cliquant sur le bouton Fermer , le problème vient Lorsque vous le résiliez de la manière suivante, vous devez attendre plusieurs minutes avant de pouvoir reconstruire votre code. "

Évitez les processus d'arrêt; vous avez le choix, attendez que le processus publie le fichier .EXE ou ce problème soit résolu plus rapidement en redémarrant l'EDI.

2
Elenasys

Essayez de redémarrer votre IDE. Cela a fonctionné pour moi. Bien que j'aie essayé de mettre fin au processus dans le gestionnaire de tâches, le processus n'a jamais été tué. 

1
Namratha

Vous pouvez utiliser Process Explorer de sysinternals pour rechercher le processus dans lequel un fichier est ouvert.

1
Chris Card

J'ai réinstallé C :: B dans le lecteur D, alors que mon dossier de fichiers programme est dans le lecteur C 

Je ne connais pas la raison, mais ça marche :)

1
user2776580

J'avais aussi le même problème et ça me rendait folle:

Windows7 64 bits, MinGW, Eclipse, CDT

Autorisation refusée, exécutable en train de disparaître, erreurs ld.exe. Cela fonctionnerait une fois, mais plus jamais . Des déclarations comme: "ne peut pas ouvrir le fichier de sortie ***. Exe: autorisation refusée"

Vérifiez votre logiciel ANTIVIRUS. Une fois que j'ai désactivé mon logiciel antivirus dans l'espace de travail, puis j'ai nettoyé l'espace de travail et redémarré le projet. 

0
Firefish

J'ai essayé d'obtenir le résultat après la fin de la tâche IDE à partir du gestionnaire de tâches. Nettoyez ensuite tous les fichiers temporaires de votre lecteur. Commencez votre IDE. Maintenant, votre fichier .exe fonctionne bien.

POUR LINUX OS ... Aller au fichier où votre fichier créé. Puis généralement ...... nom_projet/bin/Debug/nom_projet.executable ici pour ce fichier exécutable sans autorisation d’exécution, puis exécutez permission. Soit avec un clic droit si vous ne pouvez pas changer d’autorisation, utilisez ensuite open terminal (command promt) pour changer d’autorisation . commencez par aller dans le fichier exécutable en utilisant la commande 'cd' puis utilisez "chmod u + x" puis la permission va changer.Alors allez dans c :: b open et exécutez vous obtiendrez la sortie.

seule chose à faire pour tous les fichiers. 

0
chetan h

Dans mon cas, j'ai trouvé un processus appelé

cb_console_runner

J'ai arrêté ce processus et tout allait bien à nouveau.

0
Wolfgang Adamec

eh bien, une fois que j’ai eu le même problème et après avoir suivi le processus d’obtention du fichier en cours d’utilisation, j’ai découvert qu’il s’agissait de l’antivirus (PANDA) ... j’ai simplement déverrouillé le fichier et j’ai tout simplement travaillé .... ainsi pour mon expérience, j'ai utilisé déverrouiller 1.9.2 ... essayez iy out ..

0
afr0ck

Le problème est que vous ne disposez pas des droits d'administrateur pour y accéder, car le lecteur C de base est en cours d'exécution ou de compilation. Pour éliminer ce problème, exécutez devcpp.exe en tant qu'administrateur. Vous pouvez également modifier l'autorisation à partir des propriétés et autoriser l'accès en lecture/écriture/modification/modification pour le système et par le système. 

0
Karan

Une des principales causes de ce problème (que j’ai eu récemment) est si vous l’avez par exemple sur un lecteur flash.

Vous pouvez tout développer et tout faire, mais sur la plupart des systèmes, cela vous empêche d’exécuter le fichier .exe à partir de là, que ce soit la version debug ou release.

0
HowlinWulf

Assurez-vous d’exécuter 7Zip en «mode administrateur» pour l’extraire dans Program Files.

En outre, désactiver temporairement la protection antivirus fonctionnait pour certaines personnes dans le passé.

0
Efreeto

J'ai essayé ce que @willll a dit et cela a fonctionné. Je n'ai pas trouvé exactement le fichier .exe nommé d'après mon projet, mais j'ai éliminé certaines tâches étranges (après vérification sur Internet, elles n'étaient pas critiques), et cela a fonctionné.

0
J3STER