C MinGW, NP++ execute und eine große Frage

SparkMonkay

Commander
Registriert
Feb. 2013
Beiträge
2.337
Moinsen, ich denke mal diese Frage kann ich hier ruhig stellen, denn dieses Problem nervt mich dermaßen.

Ich habe NP++ runtergeladen, und MinGW runtergeladen und beides installiert.
Ich habe dann im Internet nach einer Möglichkeit gesucht um in NP++ meine C Programme mit einer Tastenkombination auszuführen. Soweit so gut. Ich habe es gefunden und danach auch die PATH-Variable hinzugefügt. Denn soweit konnte ich mein Problem lösen.

Ich habe mich diesem Link bedient.

Wenn ich mein "Hello World" Programm ausführen lasse, bekomme ich das.
NPP_EXEC: "C Compile"
NPP_SAVE: C:\Users\Zeljko\AppData\Local\Temp\nppLocalization\new 0.c
gcc "C:\Users\Zeljko\AppData\Local\Temp\nppLocalization\new 0.c"
Process started >>>
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot open output file a.exe: Permission denied
collect2.exe: error: ld returned 1 exit status
<<< Process finished. (Exit code 1)
cmd /c "C:\Users\Zeljko\AppData\Local\Temp\nppLocalization\new 0.exe"
Process started >>>
Der Befehl "C:\Users\Zeljko\AppData\Local\Temp\nppLocalization\new" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
<<< Process finished. (Exit code 1)
================ READY ================

Was muss ich tun? Ich habe keine Ahnung mehr, was ich überhaupt googeln soll.

Wie habt ihr es gelöst?
 
Die entscheidende Info scheint dieses hier zu sein:
cannot open output file a.exe: Permission denied
Dh dein Linker will die executable an einem Ort ablegen, wo dein aktueller Windows-User ohne admin-pw keine Schreibrechte hat.
Mach dir doch erstmal nen einfachen Pfad wie c:\cpp\proj_01\ und dort legst du alles ab
 
Permission denied tritt auch ganz gern auf, wenn der Prozess noch läuft.
Überprüf das mal im Taskmanager.
 
@kuddlmuddl

Selbst auf dem Desktop mach der Linker/Compiler es nicht.
Wie soll ich den Pfad machen?

@Kanibal
Nope, ist nicht in dem Task-Manager zu finden.
 
Mich kotzt MinGW auch immer an. Immer irgendwo Ärger.
Wenn ich kein Visual Studio am System habe (privat), greife ich deswegen eher auf Cygwin zurück.
Hier mal eine Anleitung für g++ und gcc:
Klick!

/edit: du musst dann natürlich deine Anleitung da auf den Cygwin-Pfad anpassen.
Also C:\Cygwin\bin\gcc.exe
Etc.
 
Zuletzt bearbeitet:
Ok moin, danke dir für den recht guten Tipp!
Werde ich nachher in Angriff nehmen :)

//EDIT
Um C-Programme kompilieren zu können benötigen Sie folgende Pakete aus der Kategorie „Devel“:
gcc
gcc-core
gcc-g++
make

ich habe oben in der Suchleiste einfach einmal nach "gcc" gefiltert und alles in der Dementsprechenden Kategorie runtergeladen und das selbe mit "make"
 
Zuletzt bearbeitet:
Solange die 4 Pakete / Datein dabei sind, kannst du alles runterladen, was du magst. ;)
 
Ja die hießen etwas anders/hatten längeren Namen und naja, Masse macht es dachte ich mir.

UPDATE:
NPP_SAVE: C:\Users\Zeljko\Desktop\new 0.c
C:\cygwin64\bin\gcc.exe "C:\Users\Zeljko\Desktop\new 0.c"
Process started >>>
cygwin warning:
MS-DOS style path detected: C:\Users\Zeljko\Desktop\new 0.c
Preferred POSIX equivalent is: /cygdrive/c/Users/Zeljko/Desktop/new 0.c
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
/usr/lib/gcc/x86_64-pc-cygwin/4.8.3/../../../../x86_64-pc-cygwin/bin/ld: cannot open output file a.exe: Permission denied
collect2: error: ld returned 1 exit status
<<< Process finished. (Exit code 1)
cmd /c "C:\Users\Zeljko\Desktop\a.exe"
Process started >>>
Der Befehl "C:\Users\Zeljko\Desktop\a.exe" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
<<< Process finished. (Exit code 1)
================ READY ================

mein PATH sieht so aus:
;C:\cygwin64\bin\

und das in dem NP++ Plugin
npp_save
C:\cygwin64\bin\gcc.exe "$(FULL_CURRENT_PATH)"
cmd /c "$(CURRENT_DIRECTORY)\a.exe"
 
Also dann würde ich jetzt langsam an dieser Anleitung zweifeln, die du oben gepostet hast.
Ich persönlich kenne notepad++ auch nur als Editor.
Mal über eine IDE nachgedacht? Am simpelsten wäre da wohl Code::Blocks oder Netbeans.
Dafür kannst du Cygwin gleich drauf lassen. Denn das ist definitiv richtig eingerichtet, wenn du die Anleitung befolgt hast (was ich denke).

Oder das hier mit plugin in np++ versuchen.
 
Zuletzt bearbeitet:
Ich habe CODE::BLOCKS als portable IDE auf meinem USB Stick,nur ich finde NP++ mit dem executioning befehl um einiges angenehmer als die IDE.

Und Windows 8(.1) hat bisher bei mir nahezu jedes Tutorial zum (Ver-)Zweifeln gebracht...

BTW: Das in deinem Link ist das selbe Plugin ;)
 
Ich versuche es morgen nochmals mit mingw...

habe dazu auch ein "tutorial" gefunden
Ergänzung ()

SOOO liebe Leute, ein
PUSH

Ich komme weder mi dem MinGW von der Homepage, noch das welches ich auf meiner Portablen IDE benutze weiter.

Mein jetziger Datenpfad der gcc.exe
C:\mingw64\bin\gcc.exe
Das steht im Path nicht im PATH, wobei ich glaube es gibt bei der Schreibweise keine Unterschied,
So sieht mein "Script" in dem NP++ Plugin aus.
npp_save
C:\mingw64\bin\gcc.exe "$(FULL_CURRENT_PATH)"
cmd /c "$(CURRENT_DIRECTORY)\a.exe"
Und das bekomme ich von NP++ bzw. dem Linker/Compiler oder auch CMD geliefert.
NPP_SAVE: C:\Users\Zeljko\Desktop\new 0.c
C:\mingw64\bin\gcc.exe "C:\Users\Zeljko\Desktop\new 0.c"
Process started >>>
c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot open output file a.exe: Permission denied
collect2.exe: error: ld returned 1 exit status
<<< Process finished. (Exit code 1)
cmd /c "C:\Users\Zeljko\Desktop\a.exe"
Process started >>>
Der Befehl "C:\Users\Zeljko\Desktop\a.exe" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
<<< Process finished. (Exit code 1)
================ READY ================

Ich will es endlich gelöst bekommen, es hat mal funktioniert. Ich versuche es mal am Windoof 7 PC. Beitrag wird dann nachher nochmals editiert.


UPDATE:
Habe diesmal dieses "Tutorial" benutzt, naja, wohl eher eine Anleitung. Ist doch das selbe.
Es liegt am Compiler! Siehe Bild.
Unbenannt.PNG
 
Zuletzt bearbeitet:
"fatal error: no input files" ist aber das erhoffte Verhalten! Du hast ja auch "gcc" aufgerufen, ohne anzugeben was du kompilieren willst, dann bekommst du natürlich die Meldung, dass dir die Eingabedatei fehlt...

Starte mal eine cmd als Administrator und kompiliere ein simples "Hello World" Programm mit "gcc main.c", welches auf deinem Desktop liegt ( damit du auch sicher Permission hast ).

Gruß
BlackMark
 
Ok, danke . die a.exe öffnet halt das cmd und zeigt auf die schnelle hello world und schließt sich. es liegt an dieser komischenAleitung, die mal funktioniert hat, nur jetzt nicht.
Wie kann ich es lösen?

DANKE LIEBE LEUTE!
Ich habe wieder gegoogelt. Es lag einfach nur daran, dass ich da, wo es war keine Rechte hatt. Habe ein anderes "Script" für das Plugin gefunden. Das funktionert, aus dem Grund, dass es die Datei woanders hin setzt :3

HIER der Link wo die Antwort auf die Frage zu finden ist.

Einfach etwas weiter runter scrollen.
 
Zuletzt bearbeitet:
Zurück
Oben