Frage zur manuellen Kompilierung von mehreren Datein...



  • Frohes neues Jahr an alle!
    mal eine kleine Frage wie könnte man ein QT C++ programm manuell kompilieren?
    also quasi ich habe 11 Files (5 mal Klasse.h , 5 mal Klasse.cpp , 1x main.cpp)
    jetzt will ich mittels ssh verbindung testen ob mein Programm auf dem anderen Server funktioniert.
    Geht in diesem Fall nur über Konsole...
    der dortige compiler ist gcc-Version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)
    wäre nett wenn mir jemand einfach ein beispiel hinschreiben kann z.B.

    g++ -Wall Klasse1.o klasse1.h klasse 1.cpp
    ......
    g++ -Wall -o Programm main.cpp Klasse1.o
    

    hab das nicht so ganz verstanden 🙂
    ist das auch wichtig in welcher reihenfolge man das macht jenachdem was man mit #include eingebunden hat in der jeweiligen datei?



  • Bei QT ist es etwas komplizierter, da du noch den MOC (Meta-Object Compiler) aufrufen mußt.
    Wenn QT (d.h. MOC) nicht auf dem anderen Server installiert ist, dann solltest du auf deinem Rechner MOC für das gesamte Projekt ausführen lassen und die entstandenen CPP-Dateien dann zusätzlich auf den anderen Server übertragen und dort dann mitkompilieren lassen.
    Zusätzlich mußt du dann selbstverständlich noch die QT-Libraries dorthin übertragen (falls eben noch nicht dort installiert) und mitlinken lassen.

    Hast du denn nicht lokal ein Makefile für das Projekt, das du dann auf dem anderen Server ausführen lassen kannst (anstatt von Hand dort den GCC auzurufen)?



  • Danke für die antwort. aber ich benutze ja keinn libs oder qt funktionen sondern das project ist als C++ konsolen programm eröffnet worden... benutze QT nur um alles in einem project zu haben und einen debugger zu benutzten.
    das sollte also auch ohne Moc gehen oder nicht?
    auf dem anderen rechner sollte aber MOC auch drauf sein da dort auch QT installiert ist.
    um noch dazu zusagen ich hab gerade erst angefangen deswegen vlt die dir so simple erscheinende Frage was ich in das Terminal eintragen muss 😉
    hab noch nirgends eine anleitung gefunden wie ich das per hand mache
    und makefile hab ich mir noch gar nicht angeschaut


Anmelden zum Antworten