col_iostream.h für linux umconfen... geht das?



  • hallo!

    ich habe eine win32-console anwendung gemacht und habe dafür die col_iostream.h
    und colors.h für die improved console verwendet !
    alles funktioniert einwandfrei... nur ich hab mir überlegt
    hmm wäre ganz nice, wenn ich das ding auch unter linux compilen könnte!
    d.h. im XTerminal starten kann, im gegensatz zur win32-console..

    gibt es eine möglichkeit die headerdatei so umzuschreiben, dass sie unter linux geht? weil sie verwendet ja die windows.h ! hab selber schon einiges rumprobiert
    aber sobald ich die windows.h aus der header schmeiss, geht sie nichmehr...

    weil es wäre einfach zuuuu praktisch, wenn ich dann die alten befehle aus der header verwenden könnte, weil sonst müsst ich mein ganzen prog neu umschreiben!

    mir wurde ncurses empfohlen, da es anscheinend plattformunabhängig ist...
    aber das sind ja auch wieder neue befehle und vieles mehr...

    hat jemand ne idee ?

    oder muss ich doch auf ncurses umsteigen ...?

    mit:
    #ifdef WIN32 else endif könnt ich dann so einiges machen...

    und ausserdem:
    kann mir einer erklären wie und wo die befehle aus der col_iostream.cpp deklariert sind ? z.b. SetConsoleTitle(title);
    oder GetConsoleScreenBufferInfo(m_Hnd, &screen_info); ?

    wenn das von der windows.h kommt, dann kann ichs glaub ich knicken mit dem umschreiben...
    ansonsten hät ich ne chance, indem ich mir die lib neu erstell
    weil windows.h gibts nun mal net für linux :p

    mfg

    haMMer

    [ Dieser Beitrag wurde am 09.02.2003 um 00:52 Uhr von Hammer editiert. ]



  • Also die col_iostream.h kannst du ja so lassen wie es ist -> da ist ja ein Vorteil von Klassen zu sehen - Interface bleibt überall gleich, nur die Implementierung ändert sich.

    Also die Implementierung in der col_iostream.cpp nach Linux übersetzen (also alle API-Aufrufe ändern) und eine neue Libary compilieren.

    MfG SideWinder



  • naja, wenn du einfach den windows.h Header entfernt, hast du nicht viel getan. Du musst die einzelnen Funktionen ersetzen, die aus dem Windows.h Header benutzt werden. Wenn du willst, kann ich die eine Portierung der col_iostream.h schicken



  • kingruedi:

    hey, das wär super! ich mein ich hab das noch nie gemacht ...
    ich hab damals einfach den code aus der col_iostream.cpp genommen und mir
    die lib erstellt! naja aber was dahinter steckt, das hab ich mal am Rande
    gelassen... zu der zeit hatte ich erst 5 tage erfahrung mit C++ 🙂

    aber hey, das wär cool!
    meine email lautet:
    Inspectah_Deck@t-online.de

    bin ich wohl doch net so falsch gelegen mit der windows.h ...

    naja alles schön und gut, aber wie willst du es schaffen die befehle so umzuconfen, dass sie sowohl unter linux als auch unter windows gehen ?
    das müssten ja dann standard-befehle sein...

    oder versteht man das so:
    die headers für linux und windows heissen dann eh gleich... damit die befehle auch, ist dann nur die lib, die anders is ... damit hätte ich 2 unterschiedliche libs mit den gleichen headers aber...

    mfg !



  • oder versteht man das so:
    die headers für linux und windows heissen dann eh gleich... damit die befehle auch, ist dann nur die lib, die anders is ... damit hätte ich 2 unterschiedliche libs mit den gleichen headers aber...

    Ja die beiden sind vorerst gleich - deswegen musst du am direkt am Code auch gar nichts ändern! Nur musst du sagen wir statt der wincolio.lib eben die linuxcolio.lib einbinden.

    MfG SideWinder



  • klasse!
    ich hoff ich krieg das hin ...

    vielleicht hilft mir ja kingruedi dabei 🙂


Anmelden zum Antworten