linux平台下静态库的创建和使用
2014-04-17 11:23
218 查看
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;
}
一、步骤
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;
}
相关文章推荐
- Linux下的静态库,共享库的创建和使用
- Linux下静态库的创建和使用
- linux---静态库与动态库的创建、生成、使用
- 在Xcode中创建静态库,并使用Target支持不同平台
- linux学习之二十四---静态库的创建和使用
- Linux RH5平台下使用Oracle ASM创建数据库
- 在Xcode中创建静态库,并使用Target支持不同平台
- Linux下静态库的创建----ar命令的使用详解
- Linux平台静态接库与动态链接库的创建和使用
- 在Linux平台上如何使用接静态库和共享库
- Linux下创建和使用静态库、共享库的方法总结
- 在Xcode中创建静态库,并使用Target支持不同平台
- Linux 静态库的创建和使用
- Linux中静态库和动态库的创建和使用
- Linux下静态库,动态库的创建和使用,多个动态库使用
- Linux 静态库的创建和使用
- zt:我使用过的Linux命令之ar - 创建静态库.a文件
- linux创建静态库ar命令的使用说明
- Linux平台上如何使用接静态库和共享库
- Linux下静态库和动态库的创建和使用( 转载 )