Problem beim Compilen



  • Ja genau, für Windows.



  • Zymbo schrieb:

    DEV-C++

    ist wie

    Zymbo schrieb:

    Wolf



  • DevC++ hat eine eigene Projektverwaltung, d.h. make brauchst du nicht unbedingt
    - Datei > Neu > Projekt...
    - Empty Project > C-Projekt > Name: eingeben > OK
    - im linken Fenster (Tab "Projekt") deins markieren + Maus rechts
    - "Zum Projekt hinzufügen" > deine Quelldatei auswählen
    - fertig



  • Ok, ich habe das ganze nun mit MinGW ausprobiert.
    Habe die msys.bat gestartet und dort den Befehl mingw32-make im Verzeichnis des Sourcecodes angewendet.
    Auch hier bekomme ich leider Fehlermeldungen:

    $ mingw32-make
    CC getgbook.c
    getgbook.c: In function 'main':
    getgbook.c:205:2: error: too many arguments to function 'mkdir'
    if(!((d = opendir(bookdir)) || !mkdir(bookdir, S_IRWXU))) {
    ^
    In file included from c:\mingw\include\dirent.h:15:0,
    from getgbook.c:7:
    c:\mingw\include\io.h:313:37: note: declared here
    _CRTIMP int __cdecl __MINGW_NOTHROW mkdir (const char*);
    ^
    Makefile:26: recipe for target 'getgbook.o' failed
    mingw32-make: *** [getgbook.o] Error 1

    Kann mir hier jemand weiterhelfen? Wie gesagt, habe ich in diesem Kompilierungsversuch den Original-Sourcecode ohne Änderungen verwendet.

    Danke für jede Hilfe.



  • Nimm eine IDE und frickele nicht auf Kommandozeile rum.


  • Mod

    Für die, die das Projekt nicht angeschaut haben:
    Das Problem ist, dass in dem Makefile gewisse Einstellungen gesetzt werden, beispielsweise wird die Definition einiger Makros per Kommandozeile an den Präprozessor übergeben. Wenn man den Quellcode bloß in ein neues Projekt einfügt und das Makefile verwirft, dann gehen diese Definitionen verloren und der Code lässt sich nicht übersetzen.

    Man muss also entweder das Projekt so umprogrammieren, dass alles aus dem Makefile direkt im Quellcode steht oder eben tatsächlich make benutzen, wie es vorgesehen ist.



  • Fertig compiliert sogar mit GUI:

    https://njw.name/getxbook/
    https://njw.name/getxbook/getxbook-1.1-win.zip

    Klappt aber wohl (nicht mehr) so richtig, berichte mal, ob du irgendwas vernünftig laden konntest.


  • Mod

    Der TE will den Quellcode modifizieren, nicht nur das fertige Programm nutzen.



  • DevC++ hat eine eigene Projektverwaltung, d.h. make brauchst du nicht unbedingt
    - Datei > Neu > Projekt...
    - Empty Project > C-Projekt > Name: eingeben > OK
    - im linken Fenster (Tab "Projekt") deins markieren + Maus rechts
    - "Zum Projekt hinzufügen" > getabook.c+util.c+util.h
    - Projekt > Projekt Optionen > Parameter > C-Compiler > -DVERSION=\"1.1\" -DWINVER=0x0501
    - Projekt > Projekt Optionen > Parameter > Linker > -lws2_32
    - fertig



  • Danke schon mal für die Hilfe, aber hat das kompilieren bei dir tatsächlich funktioniert?
    Ich bekomme diverseste Fehlermeldungen und es wird keine exe-Datei erzeugt. Versuche ich nur die getabook.c zu kompilieren erzugt er eine *.o-Datei.



  • Es hat bei mir geklappt, so wie ausführlich beschrieben.
    Stelle dich nicht so an.



  • Netter Umgangston, danke, ich kann lesen. Wenn sich jemand anstellt, dann ist es mein Rechner bzw. DevC++.
    Dennoch kommen die Fehlermeldungen (zuviele um sie hier alle aufzuführen), wenn ich das Projekt kompilieren möchte.



  • Nein, du kannst nicht lesen. Du bist nicht der Erste, dem ich das nachweise.
    Der Compiler ist ebenso unschuldig wie die IDE, die können beide mit begriffsstutzigen Laien nichts anfangen.

    Vielleicht kannst du statt lesen ja wenigstens zuschauen:

    Dev-C++ Bedienung



  • Zymbo schrieb:

    Netter Umgangston, danke, ich kann lesen.

    Das ist noch harmlos. So sind manche Leute eben (ich auch manchmal), wenn man schwer von Begriff ist.

    Außerdem gibt es sowas wie compilen nicht.
    Schreib es entweder korrekt in Deutsch (kompilieren) oder Englisch (compiling).



  • Ihr Nasen, irgendwie seid ihr ja schon amüsant. 🙂

    @Wutz: Ich hatte selbstverständlich alles so durchgeführt, wie du es ausführlich beschrieben hast. Dennoch hat mir dein Video extrem weitergeholfen, denn ich hatte noch die Oldie-Bloodshed-Version von Dev-C++ installiert und ohne die Backslash bei den Compiler-Parametern geht es eben nicht und die verschluckt das Forum hier bei mir in der Ansicht. Beim Schreiben einer Antwort (so wie jetzt) sieht man sie lustigerweise unten im Themen-Überblick.

    Also, vielen Dank noch mal für die Hilfe, alles funktioniert, so wie ich es erhofft habe!

    Bis dann,
    Zymbo



  • Ich krame das Ding nochmal hervor. Ich versuche gerade v1.2 (https://njw.name/getxbook/getxbook-1.2.tar.xz) zu compilieren und erhalte 2 Meldungen beim compilieren.

    D:\getxbook-1.2\<command-line> [Error] expected ')' before numeric constant

    D:\getxbook-1.2\getabook.c [Error] too few arguments to function 'fputs'

    Was ist das schief gelaufen ?
    Hab mich an die Anweisung von Wutz oben gehalten 🙂



  • error21 schrieb:

    Ich krame das Ding nochmal hervor. Ich versuche gerade v1.2 (https://njw.name/getxbook/getxbook-1.2.tar.xz) zu compilieren und erhalte 2 Meldungen beim compilieren.

    D:\getxbook-1.2\<command-line> [Error] expected ')' before numeric constant

    D:\getxbook-1.2\getabook.c [Error] too few arguments to function 'fputs'

    Was ist das schief gelaufen ?
    Hab mich an die Anweisung von Wutz oben gehalten 🙂

    Die Fehlermeldung sagt doch bereits alles, du (oder jemand anderes) hast (hat) wohl irgendwelche Änderungen vorgenommen, die nicht funktionieren.



  • Danke schonmal für die Antwort.
    Nein, ich hatte die \\ in den Paramtern übersehen...
    auf jedenfall startet das Compilieren schonmal, aber als resultat kriege ich:

    getxbook-1.2\util.o util.c:(.text+0x55d): undefined reference to `SSL_read'

    Was wohl darauf zurückführt, das mir wohl eine SSL Bibliothek fehlt. Da ich aber totaler Anfänger bin, wäre es interessant zu wissen, wie ich das in DevC++ Installiert / eingebunden bekomme, so das ich das kompilieren kann.

    Danke schonmal



  • Du klickst auf project, dann project options, dann parameters und dann add Library or object.
    Dann wählst du deine lib aus.
    Aber es wäre immer noch besser CodeBlocks zu verwenden



  • Ich versuche gerade ebenfalls die version 1.2 zu compilieren, aber ich bekomm das nicht hin. Gibt es jemanden, der mal Schritt für Schritt erklären kann, wie das funzt ? Wäre Super, danke 🙂


Anmelden zum Antworten