用gcc编译静态库,动态库
2010-04-27 17:28
162 查看
用gcc编译静态库,动态库(zt)
假设当前目录下有这些源文件:[main.c func.c func.h],其中main.c要调用func.c中的函数。【1】生成静态库:
$ gcc -c func.c -o func.o
$ ar rcs libfunc.a func.o
$ gcc main.c -o main -static -L. -lfunc
$ ./main
【2】生成动态库:
$ gcc -fPIC -c func.c -o func.o
$ gcc -shared -o libfunc.so.1.0.0 func.o
$ ln -s libfunc.so.1.0.0 libfunc.so
$ gcc main.c -o main -L. -lfunc
$ export LD_LIBRARY_PATH=$(pwd)
$ ./main
如果将so文件copy到系统lib目录(如/usr/lib),则最后2步就不用了。
最后还有3个小知识:
【1】nm命令:列出目标文件或2进制文件的所有符号。
【2】ldd命令:列出为了使程序正常运行所需要的所有共享库。
【3】/etc/ld.so.conf文件:除了标准目录(/lib和/usr/lib)之外,链接器和加载器搜索共享库时要检查的其他目录,和这个文件相关的一个命令是:ldconfig 。
相关文章推荐
- gcc编译工具生成动态库和静态库之一----介绍
- 在Linux下如何使用GCC编译程序、简单生成静态库及动态库
- 用gcc编译静态库,动态库
- GCC实现多文件编译,静态库,动态库
- GCC编译静态库和动态库
- 在Linux下如何使用GCC编译程序、简单生成静态库及动态库
- gcc编译步骤 动态库、静态库的使用、gdb调试、Makefile编写
- Linux操作 gcc编译过程 制作静态库、动态库
- gcc 编译动态库和静态库
- GCC编译静态库和动态库
- Windows 下GCC编译C程序调用Golang静态库和C动态库
- GCC编译静态库及动态库
- 在Linux下如何使用GCC编译程序、简单生成静态库及动态库
- gcc编译动态库和静态库
- 在Linux下如何使用GCC编译程序、简单生成静态库及动态库。
- Linux C 编程入门之一:gcc 编译动态库和静态库
- gcc 编译及动态库和静态库
- gcc编译静态库和动态库
- 在Linux下如何使用GCC编译程序、简单生成静态库及动态库
- gcc链接g++编译生成的静态库和动态库的makefile示例