linux下如何生成,使用静态和动态链接库
时间:2006-04-20 来源:netspook
//文件h.h
#ifndef _h_h_
#define _h_h_ void myprint(); #endif //文件h.c
#include<stdio.h> void myprint()
{
printf("o,my sweety!\n");
}
//文件test.c
#include"h.h" //表示先在当前目录下找该头文件,若没有再在系统指定的目录下找
#include<stdio.h> //直接在系统指定的目录下找该头文件 int main()
{
myprint();
exit(0);
}
1.生成静态链接库
gcc -c h.c -o h.o
ar cqs libh.a h.o
//ar是生成库的命令,cqs是参数,libh.a是生成的静态链接库须以lib开头,h是库名,a表示是静态链接库,h.o是刚才生成目标文件 2.生成动态链接库
gcc -c h.c -o h.o
生成动态链接库用gcc来完成
gcc -shared -WI -o libh.so h.o
//-shared -WI是参数,libh.so是生成的静态链接库须以lib开头,h是库名,so表示是动态链接库,h.o是刚才生成目标文件 3.将生成的libh.a,libh.so拷贝到/usr/lib或/lib下 4.编译带静态链接库的程序
gcc -c test.c -o test.o
gcc test.o -o test -WI -Bstatic -lh
//-WI -Bstatic表示链接静态库,-lh中-l表示链接,h是库名即/usr/lib下的libh.a 5.编译带动态链接库的程序
gcc -c test.c -o test.o
gcc test.o -o test -WI -Bdynamic -lh
//-WI -Bdynamic表示链接动态库,-lh中-l表示链接,h是库名即/usr/lib下的libh.so 6.运行./test得到结果 7.其他知识
有些库形如libh.so.1.0,1.0表示版本号.若要使用该库,通常要建立一个软连接,用ln -s libh.so.1.0 libh.so.系统不知道1.0为何意思。 编译连接时同时要用动态和静态链接库,则用如下命令
gcc test.o -o test -WI -Bstatic -lh1 -WI -Bdynamic -lh2
#ifndef _h_h_
#define _h_h_ void myprint(); #endif //文件h.c
#include<stdio.h> void myprint()
{
printf("o,my sweety!\n");
}
//文件test.c
#include"h.h" //表示先在当前目录下找该头文件,若没有再在系统指定的目录下找
#include<stdio.h> //直接在系统指定的目录下找该头文件 int main()
{
myprint();
exit(0);
}
1.生成静态链接库
gcc -c h.c -o h.o
ar cqs libh.a h.o
//ar是生成库的命令,cqs是参数,libh.a是生成的静态链接库须以lib开头,h是库名,a表示是静态链接库,h.o是刚才生成目标文件 2.生成动态链接库
gcc -c h.c -o h.o
生成动态链接库用gcc来完成
gcc -shared -WI -o libh.so h.o
//-shared -WI是参数,libh.so是生成的静态链接库须以lib开头,h是库名,so表示是动态链接库,h.o是刚才生成目标文件 3.将生成的libh.a,libh.so拷贝到/usr/lib或/lib下 4.编译带静态链接库的程序
gcc -c test.c -o test.o
gcc test.o -o test -WI -Bstatic -lh
//-WI -Bstatic表示链接静态库,-lh中-l表示链接,h是库名即/usr/lib下的libh.a 5.编译带动态链接库的程序
gcc -c test.c -o test.o
gcc test.o -o test -WI -Bdynamic -lh
//-WI -Bdynamic表示链接动态库,-lh中-l表示链接,h是库名即/usr/lib下的libh.so 6.运行./test得到结果 7.其他知识
有些库形如libh.so.1.0,1.0表示版本号.若要使用该库,通常要建立一个软连接,用ln -s libh.so.1.0 libh.so.系统不知道1.0为何意思。 编译连接时同时要用动态和静态链接库,则用如下命令
gcc test.o -o test -WI -Bstatic -lh1 -WI -Bdynamic -lh2
相关阅读 更多 +