Peter: C++ und coff2omf

Hallo,

Ich benutze windows, bcc32 als compiler und versuche verzweifelt eine library in einzubinden. Wenn ich den Beispielcode kompiliere bekomme ich imemr die Fehlermeldung "contains invalid OMF record, type 0x21 (possibly COFF)
Nun habe ich ein wenig rumgelesen und es hiess das man dsa problem mit oem2coff.exe beheben koenne. Das habe ich auch ausprobiert aber mir macht das programm dann auf einer 700kb lib, 512b, also irgendwas kann da nicht stimmen. Hat jemand irgendeine Idee ? Liegt das nur am Compiler ? ware ein anderer compiler evtl. besser ?
Vielen Dank.

Peter

  1. Moin!

    Ich benutze windows, bcc32 als compiler und versuche verzweifelt eine library in einzubinden.

    Das Probleme kenne ich:

    Wenn ich den Beispielcode kompiliere bekomme ich imemr die Fehlermeldung "contains invalid OMF record, type 0x21 (possibly COFF)

    Weil die meisten static libraries im Linkerformat des MSVC-Compilers erhältlich sind, der von Borland aber ein anderes benutzt.

    Nun habe ich ein wenig rumgelesen und es hiess das man dsa problem mit oem2coff.exe beheben koenne.

    Du meinst coff2omf?

    Das habe ich auch ausprobiert aber mir macht das programm dann auf einer 700kb lib, 512b, also irgendwas kann da nicht stimmen. Hat jemand irgendeine Idee?

    Hast du ausprobiert, ob es nicht stimmt? Da es sich bei OMF und COFF um zwei unterschiedliche Dateiformate handelt, kann es durchaus sein, dass die konvertierte Library eine andere Größe hat (auch wenn die Größendifferenz hier natürlich enorm ist).

    Liegt das nur am Compiler?

    Wenn, dann läge es wohl eher an coff2omf.

    ware ein anderer compiler evtl. besser?

    Ich weiß nicht, ob diese Konvertierung von static libraries mit dem GCC von MinGW überflüssig ist, aber auf meiner Windows-Maschine habe ich dem GCC den Vortritt gelassen, weil er deutlich standard-konformer ist. Die geringsten Probleme wirst du wohl mit Microsoft C-Compiler haben, (sofern die den nicht wegen C# aufgegeben haben), aber mit dem kenne ich mich überhaupt nicht aus, evtl. ist deren Lizenz/EULA nicht nach deinem Geschmack.

    Viele Grüße,
    Robert