gcc und linking



  • hallo,

    ich hab mir mit kdevelop ein shared object library erzeugt. das ganze existiert mit dem namen libMylib.so in /home/user/somelibs.

    nun möchte ich das library in einem anderen projekt verwenden und möcht dagegenlinken.
    dh: ich hab bei den ldflags -L/home/user/somelibs angegeben und als library -lMylib angegeben.

    das gcc command von kdevelop sieht so aus:
    gcc -ansi -Wall -pedantic -O0 -g3 -o myprogname -static myprogname.o -L/home/user/somelibs -lMylib

    aber leider krieg ich IMMER: ld: cannot find -lDistfsMcRpcStubs

    Hat jemand eine Idee, was ich da alles falsch gemacht haben könnte?

    danke im voraus!

    //EDIT: nur zur info -static verwende ich nur, damit ich den fehler bezügl. fehlender libs beim compilen krieg und nicht erst bei der programmausführung...

    //EDIT²: hab auch schon probiert das library in einen der default library paths (/usr/lib - /lib) zu geben - funktioniert auch nicht 😉



  • äh, lass das -static mal weg. Bei -static will er nämlich statische Libraries (bzw. Archive, sprich .a-Dateien) und nimmt keine dynamischen Libraries (sprich .so-Dateien).



  • jo ok.

    aber wie gesagt: wenn ich dann starte sagt er, dass libMylib.so nicht gefunden werden kann.

    oder is das dann nur möglich, wenn ich via wrapper script den LD_LIBRARY_PATH händisch setze? - so geht es, aber "schön" find ich das nicht...

    thx


Anmelden zum Antworten