-c表示只编译(compile)源文件但不链接,会把.c或.cc的c源程序编译成目标文件(二进制文件),一般是.o文件。
-o用于指定输出(out)文件名。不用-o的话,一般会在当前文件夹下生成默认的a.out文件作为可执行程序。
生成二进制test.o文件,.o文件是一个中间文件 ,可制作成库文件,也可以生成可执行文件。
或者,利用刚刚生成的test.o文件:gcc test.o -o test
之前我一直想把一个静态库包含到另一个静态库里,比如:ar rc liball.a libtest1.a libtest2.a
即把libtest1.a和libtest2.a包含到liball.a里面,这句话是没问题!
如果当你想要用到libtest1.a或libtest2.a里的函数里,是找不到的!!!
因为liball.a里包含的是libtest1.a和libtest2.a,而gcc找的里.o文件,.o文件里才包含我们写好的方法
制作一个临时文件夹,比如在我们的test文件夹下新建temp文件夹,把从各个.a库导出的.o文件都放到这个文件夹里,再把所以.o文件打成.a库。

本文详细介绍如何在iOS和Linux环境下分别编译适用于模拟器和真实设备的静态库,并提供了具体的命令行操作步骤。此外,还讲解了如何通过lipo命令合并不同架构的静态库,以及如何使用ar命令合并多个静态库文件。

1254

被折叠的 条评论
为什么被折叠?



