用个简单例子来举例。
sum.c里封装着sum函数用来计算俩数之和,main.c去调用这个动态库。
book@book-virtual-machine:~/0826$gcc sum.c -shared -fPIC -libsum.so(Linux命名规范-lib+文件名.so .so就是动态库的意思)
book@book-virtual-machine:~/0826$gcc main.c -lsum -L.(L. 声明运行路径)
book@book-virtual-machine:~/0826$./a.out
./a.out: error while loading shared libraries: libsum.so: cannot open shared object file: No such file or directory
book@book-virtual-machine:~/0826$ldd a.out
linux-vdso.so.1 => (0x00007fffb0fe2000)
libsum.so => not found
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f66c7d8f000)
export LD_LIBRARY_PATH =. (. 表示当前目录)
book@book-virtual-machine:~/0826$ ./a.out
sum=2