Fehlende include-Dateien, woher bekomm ich die?



  • Hallo,

    ich habe einen Source-Code aus dem Internet gezogen, und wollte es mit Borland C5 kompilieren, aber es fehlen ein paar...

    Ich wollte fragen, wo ich die fehlende Includes herbekomme, vielleicht als Paket oder so...

    Oder soll ich einfache eine andere IDE und Compiler verwenden?

    Hier die Includes:

    #include <sys/types.h>
    #include <sys/socket.h>
    #include <sys/ioctl.h>#include <unistd.h>
    #include <netdb.h>
    #include <netinet/in.h>
    #include <netinet/in_systm.h>
    #include <netinet/ip.h>
    #include <netinet/ip_icmp.h>
    

    Danke im Voraus



  • die gibts unter windoof nicht, di egibts nur bei unix und so



  • hackerli schrieb:

    die gibts unter windoof nicht, di egibts nur bei unix und so

    hmmm...

    und wie muss ich dass unter unix machen(VirtualPC) und wo kann man Unix downloaden?

    geht das so überhaupt?

    in unix bin ich voll der noob



  • in linux gibts die auch linux kannst du überall runterladen für umsonst.



  • OK, ich habe Knoppix...
    geht das auch?

    Ist ja soviel ich weiß auch Linux basierend...

    //EDIT:

    Habe gerade gesehen, wieviele Linux es gibt(www.linux.com)

    Welches sollte ich nehmen?



  • für nen einsteiger vielleicht ubuntu oder fedora wobei ich ubuntu etwas besser finde



  • OK, läd schon runter.

    Muss ich noch irgendwelche Programme runterladen?



  • nei beim linus sind alle programme kostenlos



  • OK, hab mir ein Toturial gesaugt.

    Während es runterläd habe ich es versucht mit cygwin zu compilieren.
    Habs unter meinen alten Programmen gefunden...

    Ist sogar fast gegangen...

    Kann mir jemand sagen, was da füre Fehlermedungen sind:

    myfunc.h:In function `send_connect':
    131: error: invalid application of `sizeof' to incomplete type `icmp'
    139: error: dereferencing pointer to incomplete type
    140: error: dereferencing pointer to incomplete type
    142: error: dereferencing pointer to incomplete type
    myclient:At top level:
    59: error: field `icmpi' has incomplete type
    In function `readinbcasts':
    warning: passing arg 2 of `fgetpos' from incompatible pointer type
    
    In function `main':
    1648: warning: return type of 'main' is not `int'
    

    Das Programm wird nicht kompiliert!

    Und noch ne Frage, kann ich in Ubuntu EXE machen, also für Windows compilieren?



  • schau mal in zeile 131 da ist ein fehler mit dem sizeof. danach sollte es gehen und unter ubuntu kannst du mit dem programm wine den compiler für windows starten um die exe zu erzeugen



  • hackerli schrieb:

    ...und unter ubuntu kannst du mit dem programm wine den compiler für windows starten um die exe zu erzeugen

    Bitte nicht so schnell...

    Noch mal ganz langsam für Dummys...

    1.) Wie starte ich wine
    2.) Wie Compiler starten (für windows starten)

    Tut mir leid das ich dich mit solchen einfachen fragen nerve, aber ich habe noch nie Ubuntu gestartet, geschweige denn, damit gearbeitet.

    Und in Zeile 131 steht:

    char *abc = (buf + sizeof (struct icmp));
    


  • OK, habe jetzt alles compiliert.

    Ich weiß es gehört nicht mehr in das Forum, aber wie mache ich jetzt ein EXE draus?

    Habe es mit dsl und gcc gemacht, aber wie wird das mit wine gemacht?

    Vielen Dank im Voraus



  • Also man korrigiere mich bitte falls das falsch ist, aber du kannst auch mit WINE und GCC und cross-compiler und was-nicht-noch nicht einfach ein Programm für Windows compilieren, wenn du Libraries verwendest, die es unter Windows nicht gibt.

    Wenn du dagegen Libraries verwendest, die es unter Windows sehrwohl gibt, dann brauchst du weder WINE noch GCC noch überhaupt irgendein Linux.

    ----

    Wenn du ein Programm für Windows erstellen willst, dann bleib bei Windows Compilern wie MSVC oder MinGW. Wenn der Code den du irgendwoher kopiert hast Libraries verwendet, die es unter Windows nicht gibt, dann kannst du ihn einfach nicht 1:1 so verwenden. D.h. du musst dich entweder nach einem anderen Code-Stück umsehen, welches Libraries verwendet die es auch unter Windows gibt, oder aber du portierst den Code selbst.

    Library mit der man einfach ICMP unter Windows versenden kann kann ich dir leider keine empfehlen. Aber such mal selbst, du findest bestimmt irgendwas.



  • OK, vielen Dank hustbaer.

    Ich werde es wohl so machen.



  • Hallo ihr,

    ich habe gerade ein ähnliches Problem.

    Gibts eine möglichkeit ein anscheinend Unix geschriebenes Programm unter EInbindung der windows -Header und Libraries zu compilieren??

    Danke schonmal!


Log in to reply