problem mit ld und ar



  • Hi,

    ich fange grad an mit gcc und so zu arbeiten.
    dabei erstelle ich .o dateien und mache
    diese zu einer library

    C:\djgpp\bin\ar rs build\sdk.a build\sdk_asm.obj build\sdk_c.obj

    da gibts auch keinen fehler.
    wenn ich das allerdings in einen ld-linker-script benutze,
    spuckt ld folgenden Fehler aus:

    could not read symbols: File truncated

    wo ist jetzt der fehler ?
    soweit mein englisch reicht heisst es ja das die Datei abgeschnitten wäre.
    Die grösse ist aber realistisch und im texteditor finde ich in sdk.a
    wunderbar alle namen wieder und mit ar kann ich mir sogar ausgeben lassen
    welche dateien sich in der library befinden.

    hoffe jemand hat da ne idee !
    danke schon ma im voraus



  • Dieser Thread wurde von Moderator/in AJ aus dem Forum ANSI C in das Forum Compiler-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • ist schon lange her, daß ich mit ar, ld und so gearbeitet habe...

    ich sehe da zwei mögliche gründe:

    1. die endung einer bibliotheks-datei muß .a sein und nicht .obj. vielleicht denkt der linker ja, daß die datei wegen .obj eine objekt-datei ist und keine ar-lib-datei und liest sie dann falsch.

    2. soweit ich mich entsinne, macht ar mit den objektdateien je nach kommandozeilen-optionen noch ganz andere sachen als sie nur zu einer lib zusammenzufassen. lies mal die man-page zu ar GENAU durch. vielleicht fördert das ja die ursache des fehlers zutage.

    also, genaues weiß ich auch nicht, aber vielleicht hilfts ja weiter 😉


Anmelden zum Antworten