bill.h bill.c main.c
静态库
//得到 .o文件
gcc -c bill.c
//得到 .a文件
ar crv libbill.a bill.o
//将 .a文件链接到可执行文件里
gcc -o main main.c -L. -lbill
共享库
//得到 .o文件
gcc -c bill.c
//得到 .so文件
gcc -shared -fPCI -o libbill.so bill.o
//编译得到目标文件
gcc -o main main.c -L. -lbill
得到libbill.so之后,需要指明libbill.so的位置,有3种方法:
//方法1,示例中libbill.so在 /opt 目录下
export LD_LIBRARY_PATH=/opt:$LD_LIBRARY_PATH
//方法2,将libbill.so 放到 /usr/lib 目录下
cp ./libbill.so /usr/lib
//方法3,修改 /etc/ld.so.conf 文件,增加一行,填写libbill.so 所在的目录,然后执行 /sbin/ldconfig
vim /etc/ld.so.conf
插入一行:/opt
/sbin/ldconfig