Open Watcom - Der Cross-Compiler



  • Hallo.
    Ich bin mehr oder weniger durch Zufall auf den Open Watcom-Compiler (fuer Windows) gestossen.
    Er bietet ja die Moeglichkeit C/C++-Source fuer verschiedene Plattformen (OS/2, DOS, Linux etc.) zu kompilieren und linken, und das auf sehr einfache Weise durch wenige Klicks (zumindest in der IDE fuer Windows) 🙂
    Nun zu meinen Fragen: Unter welchen Linux-Versionen/Distributionen laufen die erstellten Programme, die ich fuer Linux kompiliert habe (ELF)? Kann das ja leider nich testen 🙂
    Ist der Compiler standardkomform?
    Hat jemand sonst noch Erfahrungen mit dem Compiler/der IDE?
    Gibt es vielleicht bessere Compiler dieser Art? (Cross Compiler)

    Gruss,
    Cartman



  • Ich verwende den Watcom jetzt schon einige Jahre - wußte ich noch gar nicht 😉



  • Eric Cartman schrieb:

    Hat jemand sonst noch Erfahrungen mit dem Compiler/der IDE?

    der compiler ist verdammt langsam. für ein mittelgrosses projekt, das der msvc in ca. 30 sekunden compiled und gelinkt hat, braucht der watcom etwa 5 minuten.
    🙂



  • ~fricky schrieb:

    Eric Cartman schrieb:

    Hat jemand sonst noch Erfahrungen mit dem Compiler/der IDE?

    der compiler ist verdammt langsam. für ein mittelgrosses projekt, das der msvc in ca. 30 sekunden compiled und gelinkt hat, braucht der watcom etwa 5 minuten.
    🙂

    Dafuer braucht der Watcom im Gegensatz zu MSVC nich 5 Minuten zum oeffnen 🙂
    Ich bin im Moment relativ zufrieden mit dem Watcom (nur das Syntaxhighlighting ist ungewohnt), allerdings muss ich zugeben, dass MSVC in einigen Dingen doch etwas komfortabler ist (z.B. beim Debuggen), kann aber auch mangels ungenuegender Erfahrung mit dem Watcom sein). Aber um mal auf die Schnelle einen (Standard C++)Code fuer Linux o.a. zu kompilieren ist der Watcom aufjedenfall genial (finde ich zumindest).

    Gruss
    Cartman

    //edit
    Nur leider unterstuetzt der Watcom keine Pfade/Dateien mit enthaltenen Leerzeichen ...



  • Ok, ich könnte meine ja langsam mal updaten ...

    Ich arbeite ohne IDE, make reicht mir eigentlich.



  • Eric Cartman schrieb:

    Hallo.
    Ich bin mehr oder weniger durch Zufall auf den Open Watcom-Compiler (fuer Windows) gestossen.
    Er bietet ja die Moeglichkeit C/C++-Source fuer verschiedene Plattformen (OS/2, DOS, Linux etc.) zu kompilieren und linken, und das auf sehr einfache Weise durch wenige Klicks (zumindest in der IDE fuer Windows) 🙂
    Nun zu meinen Fragen: Unter welchen Linux-Versionen/Distributionen laufen die erstellten Programme, die ich fuer Linux kompiliert habe (ELF)? Kann das ja leider nich testen 🙂
    Ist der Compiler standardkomform?
    Hat jemand sonst noch Erfahrungen mit dem Compiler/der IDE?
    Gibt es vielleicht bessere Compiler dieser Art? (Cross Compiler)

    Gruss,
    Cartman

    Wenn du fuer x86-Targets (i.e., normale 32 Bit Intels) kompiliert hast, sollte das Programm auf jeder 32-Bit Linux Distro lauffaehig sein, solang die notwendigen Bibliotheken dort installiert sind (unabhaengig von der Distro).

    Gleiches gilt fuer x86-64-Targets (64 Bit PCs).

    Ad Cross-Compiler: ich cross-compilier von Linux aus Windows-Binaries, klappt auch wunderbar, da ich sowohl fuer Windows als auch fuer Linux den GCC verwenden kann. Nur das Makefile muss ich umschreiben.



  • Scheppertreiber schrieb:

    Ok, ich könnte meine ja langsam mal updaten ...

    Ich arbeite ohne IDE, make reicht mir eigentlich.

    Du solltest dir die IDE unbedingt besorgen - sehr einfach zu bedienen. Und crosskompilieren klappt auch durch wenige Klicks. Ich als Anfaenger haette da so meine Probleme mit dem Kommandozeilen-Compiler alleine.

    Blue-Tiger schrieb:

    Wenn du fuer x86-Targets (i.e., normale 32 Bit Intels) kompiliert hast, sollte das Programm auf jeder 32-Bit Linux Distro lauffaehig sein, solang die notwendigen Bibliotheken dort installiert sind (unabhaengig von der Distro).

    Gleiches gilt fuer x86-64-Targets (64 Bit PCs).

    Klingt gut 🙂 Nur... um was fuer Laufzeitbibliotheken handelt es sich dabei? (Frage bezieht zich sowohl auf Linux als auch auf Windows)

    Gruss
    Cartman



  • Ich habe mir jetzt mal die neueste Version gezogen, das Ding ist penetrant
    stur mit Funktionsdeklarationen. Ok, halt mal saubergemacht.

    Mal 'ne Frage:

    Hier im Forum bin ich auf die Win-Funktion URLDownloadToFile() gestoßen und
    wollte das mal ausprobieren. Anscheinend muß ich da irgendwie die Calls aus
    der DLL urlmon.dll linken.

    Nichts gefunden beim Stöbern.

    Wenn ich das als Linker-Direktive "import URLDownloadToFile_ urlmon" in allen
    Varianten mit _ vorne und hinten probiere, er mault immer, er habe

    file uwget.obj(G:\inet\arc\uwget\uwget.c): undefined symbol _URLDownloadToFileA@20

    Das angehängte "A" ist klar (stammt aus urlmon.h), mit dem "A" habe ich das
    auch probiert. Er mag irgendwie nicht.

    Hat jemand einen Tip ? Ich habe noch nie DLLs verwendet bzw. wenn, dann über
    das Win32-API geladen. Wäre aber schöne wenn es so auch ginge - im Manual steht's
    drinnen.



  • urlmon.h haste ja schon, dann musste noch ne soganannte 'import library' dazulinken, nämlich die: http://owbuilder.malakovi.cz/snapshot/lib386/nt/urlmon.lib
    dann sollte es funzen.
    wenn nicht: google "watcom urlmon.lib"
    🙂



  • Mein Dank wird Dich ewiglich verfolgen ... 😉


Log in to reply