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

Alles rund um die Programmierung mit Qt
Antworten
padreigh
Beiträge: 340
Registriert: 13. Mai 2010 10:06

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

Beitrag 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 ...
Patrick (QtCreator 1.3.1, Qt 4.6.3)
---
template = subdirs
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag 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.
padreigh
Beiträge: 340
Registriert: 13. Mai 2010 10:06

Beitrag 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 :)
Patrick (QtCreator 1.3.1, Qt 4.6.3)
---
template = subdirs
Antworten