static library erstellen



  • hallo, ich möchte eine static library erstellen unter linux.

    habe schon in der faq geschaut, aber es funzt nicht. bitte um hilfe.

    ich habe also zwei .cpp dateien von mir. diese dateien benutzen die libtommath.a und die libtomcrypt.a und das define LTM_DESC muss ich auch noch setzen.

    könnt ihr mir bitte helfen

    gruß
    part



  • Was funzt nicht?

    Eine statische Bibliothek erstellst Du mit "ar r libxxx.a objekt1.o objekt2.o". Du benutzt sie beim Binden mit "-L/pfad/zur/lib -lxxx".



  • hm, ich glaub das mit dem erstellen der lib hat geklappt.
    aber wenn ich diese jetzt benutzen will findet er sie nicht, oder es gibt undefined reference zu den fuktionen.

    die dateien in meiner lib sind c++, und ich will diese lib in einer c main aufrufen.
    in der lib habe ich vor den funktionen extern "C" geschrieben und die lib erstellt.

    muss ich in der c main die funktioen noch irgendwie bekannt machen?

    kompilieren tu ich das ganze mit
    gcc -o main main.c -L.-laktuell-static da kommen dann die undefined fehler
    gcc -o main main.c -L. -laktuell-static (leerzeichen nach -L.) findet die lib nicht

    wenn ich mir die objekte mit nm lic.o anschaue, haben die beiden funktionen die ich im c prog benutzen will ein T davor stehen. was immer das heißen mag



  • Und die Lib heisst "libaktuell-static.a"?

    Ansonsten zeig' doch mal ein paar mehr Informationen, z.B. wie Du die Lib-Sources übersetzt und die Lib erstellst, und im Zweifel den Funktionskopf der Funktionen, die in der Lib landen.


Log in to reply