Dl.exe: cannot open output file : Permission denied

Fermé
Wat3r754 - Modifié le 16 déc. 2022 à 10:18
Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 - 7 déc. 2022 à 18:13

Bonjour,

J'ai un problème avec la compilation de ninja dans CLion. Quelqu'un peut m'aider ?

C:\Program Files\JetBrains\CLion 2022.2.4\bin\cmake\win\bin\cmake.exe" --build D:\Programmation\Projet\cmake-build-debug --target Projet -j 6
[1/1] Linking C executable Projet.exe
FAILED: Projet.exe
cmd.exe /C "cd . && C:\PROGRA~1\JETBRA~1\CLION2~1.4\bin\mingw\bin\gcc.exe -g  CMakeFiles/Projet.dir/main.c.obj -o Projet.exe -Wl,--out-implib,libProjet.dll.a -Wl,--major-image-version,0,--minor-image-version,0  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
C:\Program Files\JetBrains\CLion 2022.2.4\bin\mingw\bin/ld.exe: cannot open output file Projet.exe: Permission denied
collect2.exe: error: ld returned 1 exit status
ninja: build stopped: subcommand failed

2 réponses

mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 811
6 déc. 2022 à 16:41

Bonjour,

Ton compilateur n'a pas les droits en écriture dans le dossier dans lequel tu veux générer l'exécutable, d'où l'erreur. Si on regarde plus en détail la commande de compilation, tu utilises l'option :

-o Projet.exe 

qui stipule que l'exécutable à produire doit être créé depuis lequel la commande de compilation est lancée. Je ne sais pas de quel dossier il s'agit puisque la commande ne l'indique pas, mais visiblement, ce n'est pas un dossier dans lequel le compilateur a les droits en écriture.

Il faut donc corriger cette option (probablement dans les paramètres du projet de ton IDE), en indiquant de préférence un chemin absolu correspondant à un dossier dans lequel tu as le droit d'écrire, par exemple le chemin absolu vers dossier qui contient ton projet.

Bonne chance

0
Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 101
7 déc. 2022 à 18:13

Autre possibilité.
Tu as compilé ton projet et lancé l'exécutable. Exécutable qui est encore en mémoire (en attente ou planté quelque part), le compilateur ne peut pas mettre à jour un exécutable tant qu'il est encore actif.
Solution : tuer ton exécutable.

0