静态库是一种在编译时将代码直接链接到可执行文件中的库。静态库通常以 .a
文件形式存在。
优势:
类型:
ar
工具创建,包含多个目标文件(.o
)。应用场景:
动态库在程序运行时加载,通常以 .so
文件形式存在。
优势:
类型:
gcc
编译时加上 -shared
选项生成。应用场景:
原因:
解决方法:
/usr/lib
或 /usr/local/lib
等标准路径中。LD_LIBRARY_PATH
环境变量指定库路径:LD_LIBRARY_PATH
环境变量指定库路径:/etc/ld.so.conf
中添加库路径,并运行 ldconfig
更新缓存:/etc/ld.so.conf
中添加库路径,并运行 ldconfig
更新缓存:原因:
解决方法:
-l
选项指定库名(去掉前缀 lib
和后缀 .a
),并使用 -L
选项指定库路径:-l
选项指定库名(去掉前缀 lib
和后缀 .a
),并使用 -L
选项指定库路径:通过以上步骤,可以有效管理和使用Linux中的静态库和动态库,解决常见的链接和加载问题。
领取专属 10元无门槛券
手把手带您无忧上云