linux平台下静态库的创建和使用

来源:互联网 发布:华盛顿西雅图大学知乎 编辑:程序博客网 时间:2024/04/27 20:46
linux平台下静态库的创建和使用


一、步骤
gcc -c mylib.c 
//生成mylib.o文件
ar cr libmylib.a mylib.o
//生成libmylib.a
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
//将当前路径添加到环境变量中
gcc -o main.out main.c -L. -lmylib
//生成可执行文件


当我们生成.a的库文件后,gcc编译器是找不到我们自己写的.a文件的,所以我们需要将路径添加到一下两个路径中。
方法有两种:
1.可以把当前路径加入 /etc/ld.so.conf中然后运行ldconfig,或者以当前路径为参数运行ldconfig(要有root权限才行)。
2.把当前路径加入环境变量LD_LIBRARY_PATH中
当然,如果你觉得不会引起混乱的话,可以直接把该库拷入/lib,/usr/lib/等位置(无可避免,这样做也要有权限),这样链接器和加载器就 都可以准确的找到该库了。
我们采用第二种方法:
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH


二、测试代码
//mylib.c
#include <stdio.h>
void hello();
void hello()
{
printf("this is hello_lib!\n");
return ;
}


//main.c
#include <stdio.h>
void main()
{
    hello();
    return;
}


0 0