*.lib einbinden



  • Hi Leute!

    Ich bin mir jetzt gar nicht sicher in welches Forum ich das Thema posten soll, also wenns hier nicht ganz richtig ist, sorry.

    Und zwar: Wenn ich unter c/c++ Programme schreib, dann braucht man für machne Funktionen (zB mit Winapi) zusätzliche Libs, die man dem Linker angeben muss. z.B unter VC6.0 ist das ja kein Problem, man kann das einfach in den Einstellungen tun.

    Meine Frage, wie kann ich Libs sonst in mein Projekt einbinden(ohne Entwicklungsumgebung)? zB. Ich brauche die xxx.lib zum Linken, gibt es irgendwelche Präprozessorbefehle um die einzubinden oder muss ich das im Makefile machen oder wie kann sowas tun?

    Ich hab bis jetzt leider immer nur mit Entwicklungsumgebungen gearbeitet mit denen man das einfach irgendwo einstellen kann!

    Vielen Dank
    Grüße Flow



  • bei manchen Compilern im Quelltext mit

    #pragma comment(lib, "foo.lib")
    

    sonst als Kommandozeilenargument oder im makefile



  • Mhh, weiß jemand, ob das beim GCC geht? Und ist es schlimm, wenn man eine lib auf diese Methode mehrfach einbindet?

    Danke
    Flow



  • beim gcc kannst du sie einfach als letztes arg angeben:
    gcc meinprog.c meinelib.a
    wenn es eine lib ist die im lib-suchpfad steht (z.b. ncurses):
    gcc meinprog.c -lncurses

    du kannst auch eigene libs mit dem ar tool machen.
    dabei kannst du die compilierten .o dateien zu einer lib
    zusammenfassen:
    ar -c libmeine.a test.o test2.o ....


Anmelden zum Antworten