Sourcecode unter Windows für Unix compilieren



  • Hallo,

    ich habe folgendes Problem. Von C null Ahnung und von Unix grad mal krabbeln gelernt.
    Ich habe allerdings einen Sourcecode für C, den ich für Unix compilieren soll.
    Wie kann ich unter einem Win7 Rechner den Code für Unix passend compilieren?
    Der Unixrechner ist ein Server 32bit und nur über Putty zu erreichen.
    Google war diesmal nicht mein Freund, oder ich raffs nicht, daher hoffe ich das ihr ein paar gute Ideen habt. So wild kanns ja eigentlich nicht sein.

    Danke schon mal im vorraus.


  • Mod

    Was spricht denn dagegen, das Programm auf den Unixrechner zu kopieren und dort zu übersetzen? Crosscompilieren ist immer so kompliziert, das sollte man vermeiden wenn's nur irgendwie geht.



  • Dagegen spricht mein momentan nicht vorhandenes Wissen wie es geht.
    Unter Windows gibts halt so tolle Klickprogramme. Unter Unix in der Konsole steh ich grad noch mehr als dumm da.
    Wenn es nicht die Welt ist, dann was muss ich auf dem Server (Ubuntu) installieren um es compilieren zu können. Was für ein Rohformat muss ich dort hinterlegen vom Source. Habs als Text nur. Und in was genau muss ich es compilieren?
    Viele Fragen, aber ich ich lerne es gerade erst noch, daher bitte etwas Nachsicht.

    Nachtrag:
    Also brauche ich dazu die build-essentials, GCC und gobjc mal installieren?



  • nase schrieb:

    Dagegen spricht mein momentan nicht vorhandenes Wissen wie es geht.
    Unter Windows gibts halt so tolle Klickprogramme.

    aber sicher nicht zum Crosscompile beliebiger Programme...

    Wie ein Programm kompiliert wird (unter Linux oder sonst wo) hängt letztlich vom Programm ab.



  • Im Idealfall reicht es gcc mit den Quellcodedateien als Parameter aufzurufen, also z.B.
    gcc foo.c bar.c

    Wahrscheinlich willst du auch noch Optimierungen anschalten (-O3), evtl. was dazulinken (-lnamederlib) oder die Ausgabedatei angeben (-o, sonst standardmäßig a.out).
    Zu den wichtigsten Parametern findet man mit Google mehr als genug Informationen.


  • Mod

    nase schrieb:

    Nachtrag:
    Also brauche ich dazu die build-essentials, GCC und gobjc mal installieren?

    Das kommt auf dein Programm an. Wenn es C ist, ist der gcc eigentlich standardmäßig immer installiert. Dann musst du eben gucken, ob du weitere Tools brauchst, wie zum Beispiel automake. Viele dieser Tools sind in build-essentials.

    Und Quellcode stellst du immer als normalen Text zur Verfügung. Wenn du das nicht weißt, wird es schon schwer genug, überhaupt ein Programm zu compilieren, weil du wahrscheinlich Schritt für Schritt geführt werden musst. Crosscompiling, wie du es vor hattest, kannste gleich vergessen.



  • Du musst die build-essentials installieren. Ggf. musst du noch weitere Bibliotheken installieren. Das hängt von dem Code ab. Ist das ein öffentliches Projekt? Nach Möglichkeit gibt es vielleicht binaries (apt-cache search ...). Ansonsten schau mal, ob du eine README oder INSTALL Datei findest. Dort sollten die Abhängigkeiten beschrieben sein. Wenn du Glück hast, dann gibt es ein configure-Skript oder zumindest eine Makefile. Im Normalfall läuft das ganze so ab

    tar xzf projekt.tar.gz     # entpacken des projekts
    cd projekt                 # in das Verzeichnis wechseln
    ./configure                # Abhängigkeiten suchen, konfigurieren, Makefiles erzeugen
    make                       # Kompilieren
    sudo make install          # Installieren
    

Log in to reply