GCC编译链接静态库(.a)

1.GCC编译链接静态库(.a)

(1)生成.o
gcc -c a.c b.c c.c
(2)链接生成.a(将a.o与b.o链接生成.a库)
ar rc libaaa.a a.o b.o
(3)生成可执行文件c.c中main调用libaaa.a库函数
gcc -o test c.o -L./ -laaa

目标:在b.c中调用a.c的函数。将a.c与b.c生成.a库给c.c使用

-L后+库的路径
-l后+库的名称(注意此处省略库名称中的’lib’与’.a’)

GCC编译链接动态库(.so)

在编译.c 的时候,我们需要使用-I(大写的字母i)选项指明头文件的包含路径,使用-L选项指明静态库的包含路径,使用-l(小写字母L)选项指明静态库的名字。
如:gcc src/aaa.c -I include/ -L lib/ -l test -o aaa.out
注意,使用-l选项指明静态库的名字时,既不需要lib前缀,也不需要.a后缀,只能写 test,GCC 会自动加上前缀和后缀。


版权声明:本文为Bgm_Nilbb原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。