动态链接库文件

来自Shiyin's note
Shen讨论 | 贡献2017年2月9日 (四) 14:47的版本
跳到导航 跳到搜索
  • linux下文件的类型是不依赖于其后缀名的,但一般来讲:
.o,是目标文件,相当于windows中的.obj文件
.so 为共享库,是shared object,用于动态连接的,和dll差不多(standard object)
.a为静态库,是好多个.o合在一起,用于静态连接
$ar cqs libhello.a hello.o

可以用ld 把.o文件结合起来生成 .so 文件

$ld -shared -o test.so *.o

用-a archive 成.a 文件

ld -a -o test.a *.o

库文件目录

在fc25版本中,已经不再用LD_LIBRARY_PATH来设置动态链接库位置的变量,而是在/etc/ld.so.conf文件中设置,因此可以在/etc/ld.so.conf.d/目录下 新建一个文件extralib.conf,该文件中写入额外的链接库路径,然后执行/sbin/ldconfig即可