Linux下动态链接库创建问题

时间:2022-03-28 15:52:08

1:将几个需要编译成动态链接库的源文件比编译:例如有 test1.c test2.c main.c,那么使用下面命令:gcc test1.c test2.c -fPIC -shared -o libtest.so;注意里面的两个选项-fPIC -shared

2:编译main.c:  gcc -o main main.c -L ./ -Itest;注意,-L只要寻找的.so文件的路径,-l代表要找的文件,这里注意test使用了隐式文件名,就是代表libtest.so,省略了lib和.so,要是有多个路径用空格隔开。

这样就编译出了一个可执行文件main。但是这样的话,main不知道去哪里寻找前面动态链接时的.so文件,需要指定路径,这里可以在/etc/ld.so.conf.d   libc.conf文件里面添加自己的.so文件所在的路径

3:最后运行ldconfig使上面的路径生效,在运行main就可以了