Seite 1 von 1

LIBS += -L/pfad/zum/lib/dir -lname funzt nicht ...

Verfasst: 4. August 2010 16:15
von padreigh
Wenn ich das Beispiel in meiner Signatur compiliere und ausführe (unter QtCreator) erhalte ich immer ein
Starte /home/padreigh/tmp/subDirs/bin/eins...
/home/padreigh/tmp/subDirs/bin/eins: error while loading shared libraries: libhellolib.so.1: cannot open shared object file: No such file or directory
/home/padreigh/tmp/subDirs/bin/eins beendet, Rückgabewert 127
Sehe ich das richtig das das LIBS+= usw. nur für das compilieren zuständig ist? Wenn ich die lib in meinen Pfad (zB ~/) lege, führt er die App problemlos aus ...

Verfasst: 4. August 2010 17:35
von franzf
Hier steht einiges zum Thema:
http://xahlee.org/UnixResource_dir/_/ldpath.html

// edit: sry, war wohl doch etwas kurz geraten :D
Also, das LIBS += ist nur zum kompilieren. Zur Laufzeit muss die Lib gefunden werden können. Wenn deine nötige lib nicht gefunden wird, bitte geh nicht her und setz ein globales LD_LIBRARY_PATH, sondern schreib ein Wrapper-Script, welches nur für diese Shell, in der das Script läuft, die Umgebungsvariable erweitert (steht glaub ich so auch am Ende im Link), und starte dann die eigentliche exe.

Verfasst: 4. August 2010 18:29
von padreigh
Ich erweitere den LD pfad nicht - zum testen pack ich die lib per "ln -s" in mein ~/shared/libs ;)

Hoffentlich baun die das in QTCreator bald ein ... ist so etwas nervig vA wenn man eigene libs weiterentwickelt :)