"" , (, /usr/local/lib /usr/lib), -L, -L:
$ gcc -L/home/username/foo -Wall -o test main.c -lfoo
| |
|__ location of libfoo.so or libfoo.a |__ link libfoo.so or libfoo.a
GCC , 'lib .so .a(.so , .a , ).
(, , , ). LD_LIBRARY_PATH, rpath ldcondig. , .
$ export LD_LIBRARY_PATH=/home/username/foo:$LD_LIBRARY_PATH
libfoo.so, . LD_LIBRARY_PATH .
$ gcc -L/home/username/foo -Wl,-rpath=/home/username/foo -Wall -o test main.c -lfoo
rpath LD_LIBRARY_PATH ( ), rpath "" .
ldconfig, , , . (, sudo) .
$ sudo cp /home/username/foo/libfoo.so /usr/local/lib
$ sudo chmod 0755 /usr/local/lib/libfoo.so
/usr/local/lib , .
$ sudo ldconfig
$ ldconfig -p | grep foo
libfoo.so (libc6) => /usr/local/lib/libfoo.so
.
$ gcc -Wall -o test main.c -lfoo
ldconfig, -L, LD_LIBRARY_PATH rpath .
↳ GCC Linux