MinGW, NP++ execute und eine große Frage/Problem



  • Moinsen liebe Leute,

    Ich habe ein Problem beim einrichten des Compilers und "Verbinden" mit NP++
    Ich hoffe ich kann hier Hilfe bekommen und bin auch im richtigen Unterforum.

    Zu meinem Problem:
    Aufgrund dessen, dass ich nicht der IDE-Freund bin und auch vor nicht all zu langer Zeit mit C begonnen, habe ich es lieber in NP++ mein Programm zu schreiben und dann am liebsten per Tastenkombination, wie es [URL="http://windowsbro.blogspot.de/2012/10/compile-with-notepad-any-language.html"]hier[/URL] gezeigt wird- woher ich diese Idee habe. Ich nutze MinGW, aber ich habe, da ich den selben Fehler habe, wie mit dieser Version hier, nicht die Version, die ich von der Homepage runterladen kann, sondern eine Version, von einer "portablen IDE", da diese Funktioniert.

    Ich habe alles eingerichtet. Den Datenpfad entsprechend eingerichtet und die Path (nicht PATH) Variable hinzugefügt.
    Diese sehen nebenbei so aus.

    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,

    ;C:\mingw64\bin\

    So sieht mein "Script" in dem NP++ Plugin aus.

    npp_save
    C:\mingw64\bin\gcc.exe "(FULL_CURRENT_PATH)"cmd/c"(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 ================

    Das ist der Code/das Programm das ausgeführt werden soll.

    #include <stdio.h>
    
    int main()
    {
        printf("Hello world!\n");
        return 0;
    }
    

    Danke fürs lesen, und nochmals danke an die Antwortenden mit hiflreichen Antworten.
    MfG & Have A Nice Day



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C (C89, C99 und C11) in das Forum Compiler- und IDE-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Hallo

    Ich bin der Meinung du hast hier 2 fehler, zum einen läuft scheinbar deine a.exe noch (siehe Zeile 4 "Permission denied").
    Oder du hast keinen Zugroff auf das Zielverzeichnis.

    Zum anderen weist du aktuell überhaupt nicht wo dein Output landet, und wie mir scheint, landet der im NP++ Hauptberzeichniss und dort könnten noch andere von deine übersetzenden Programmen mit dem selben Namen (a.exe) liegen. Daher würde ich an deiner Stelle mit:
    -o "$(CURRENT_DIRECTORY)\MeinProg.exe"
    Die Ausgabe definieren. Es sollte auch noch eine Variable geben, mit der du den Namen der aktuellen Datei ermitteln könntest, für einen lesbareren Namen deines Programms.

    MfG mdn



  • So hab es gelöst. Das Script in NP++ für mein Plugin war nciht "richtig".

    Hier ist das womit es funktioniert. Nur der Datenpfad muss angepasst werden.
    http://stackoverflow.com/questions/2506400/how-to-compile-and-run-c-files-from-within-notepad-using-nppexec-plugin


Anmelden zum Antworten