Nach Kompilation Fehler (... cygwin1.dll nicht gefunden...)



  • Hi, ich wollte mich etwas mit C und C++ (vorallem C) beschäftigen und hab mir deshalb cygwin mit gcc installiert. Ich hab dann diesen Code von einem Beispiel übernommen und es kompiliert:

    void main()
    {
        printf("\nHello World\n");
    }
    

    Die Kompilation funktioniert mit den Ausgaben

    c.c: In function 'main':
    c.c:2: warning: return type of 'main' is not 'int'
    c.c:4:2 warning: no newline at end of file
    

    Jedoch wenn ich die exe dann doppelklicke bekomme ich nur den Fehler:

    Die Anwendung konnet nicht gestartet werden, weil cygwin1.dll nicht gefunden wurde. Neuinstallation der Anwendung könnte das Problem beheben.
    

    Was kann ich dagegen tun?
    Danke im Voraus,
    smallish



  • Also erstmal ein vernünftiges Hello-World schreiben:

    #include <stdio.h>
    
    int main(int argc, char **argv) {
      printf("Hello World\n");
      return 0;
    };
    

    Wegen der dll: Pfad gesetzt? Gibt's die DLL auch, mal danach gesucht?



  • Ja, die gibts.
    Was meinst du mit Pfad setzten?
    Danke für dein Beispiel!



  • Ok, und wo gibt es sie? Weiß Windows wo sie ist?
    Falls nicht (was ich glaube), dann musst du eine Umgebungsvariable setzen, mit dem Pfad zu dem Ordner wo die dll drinliegt. Macht man in der Systemsteuerung.



  • Hallo, ich habs nicht geschafft so wie du gesagt hast:

    Die Umgebungsvariablen hab ich gefunden und unter Path den Pfad zur DLL angegeben. War das richtig? Jedoch hat sich nichts geändert dabei!

    Ich hab dann noch versucht, die DLL nach C:/WINDOWS zu kopieren und siehe da: Es klappt!

    Weisst du wieso es mit den Umgebunsvariablen nicht geklappt hat? Es funktioniert zwar jetzt, würde mich aber trotzdem intressieren!

    Danke für deine Hilfe
    smallish



  • Die Umgebungsvariablen hab ich gefunden und unter Path den Pfad zur DLL angegeben. War das richtig? Jedoch hat sich nichts geändert dabei!

    Ja, das war richtig. Als du den Pfad zu der dll gesetzt hast, hast du dann ein reboot gemacht? Falls nein, dann lag's daran. Ansonsten kann ich nur spekulieren, woran's gelegen hat, vllt. falscher Pfad von dir??!?!
    (Wenn jetzt die dll in C:\cygwin\ läge, dann wäre das der korrekte Pfad gewesen)

    Ist auch egal, solange es läuft ist ja alles gut. 🙂



  • Hmmm... das war mein Fehler!

    Hab gedacht ich muss nicht rebooten, weil in Perl in %ENV die Pfade nach der Änderungen schon drin standen...

    Offensichtlich begreift Perl schneller als Windows... 😉



  • Man muss nicht booten, damit die Umgebungsvariablen bekant sind unter Windows, die Dosbox oder die Anwendung neu öffnen reicht.
    Panda


Anmelden zum Antworten