Makefile -> LD_LIBRARY_PATH? Programm kann nicht ausgefuehrt werden!
-
Hab ne Frage, schreib gerade als Aufgabe an nem Makefile das macht unter anderem folgendes:
libdynamic_utils.so: utils_math.o utils_net.o $(CC) -shared $? -o $@ d_applic: applic.o $(CC) -o $@ -L. -ldynamic_utils $? export LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ./d_applic
das Programm d_applic wird aber nicht ausgefuehrt weil er ein Problem mit der Library hat, die Komplette ausgabe ist bei mir:
gcc -c -o utils_math.o utils_math.c
gcc -c -o utils_net.o utils_net.c
gcc -shared utils_math.o utils_net.o -o libdynamic_utils.so
gcc -c -o applic.o applic.c
gcc -o d_applic -L. -ldynamic_utils applic.o
export LD_LIBRARY_PATH=/.../Uni/OS/ue02/01
./d_applic
./d_applic: error while loading shared libraries: libdynamic_utils.so: cannot open shared object file: No such file or directory
make: *** [d_applic] Fehler 127Der Pfad den ich fuer LD_LIBRARY_PATH setze passt und auch sonst seh ich keinen Fehler, es funktioniert aber nicht, aber wieso?
-
make ruft für jede zeile eine neue shell auf, also
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ./d_applic
geht nicht, da bei ausführun LD_LIBRARY_PATH nicht gesetzt ist.
LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ./d_applic
sollte z.B. gehen
-
Sowas muss man erst mal wissen, jetzt funktionierts!
Danke!!