使用gcc编译器或xcode进行编译。在开发过程中,我们经常会遇到一些经常在不同项目中使用的部分。提取这些部分以生成静态库通常是更好的方法。xcode有一个制作静态库的模板,网上有很多相关的步骤,但在实际操作中,还有很多细节需要注意。下面是我遇到的一些问题的总结。
1.编译库的发布版本。在“管理方案”中,将“构建配置”选项更改为“发布”。如果在静态库项目中使用category,则可能会遇到链接问题。解决方案是在静态库项目和静态库项目加载中都使用“-all”,即在相应目标加载的“生成设置”中的“其他链接器标志”选项中添加“-all”。注意:必须在使用静态库的项目中添加编译器选项
至于在生成静态库的项目中是否添加,虽然没有尝试,但是建议添加这个编译选项。
3.静态库支持的sdk版本为了使您的静态库支持尽可能多的ios系统版本,您应该从“ios部署目标”选项中选择所需的ios版本。设置如下图所示。这是我的静态库项目的配置,我修改的选项显示在红色框中。
4.自动复制头文件,并在项目相应目标的“构建阶段”下添加“复制头”选项。默认情况下,此选项不可用。添加方法是点击下面的“添加构建阶段”按钮,选择要添加的。此选项下有三个子选项:public、private和project。通过单击下面的加号,您可以将项目中的头文件添加到“project”。右击相应的头文件,当头文件移到“pure”时,选择“movetopublic”,项目编译完成后,项目路径中会出现一个名为“usr/local/include”的文件夹。编译项目后的文件。头文件是public组中的头文件。在这个时候,只需复制。此路径下的文件和头文件指向所需的项目文件。cgo读取以特定格式编写的go语言源文件,输出go和c程序,从而将c程序打包成go语言包。例如,下面是一个go语言包,它包含两个函数random和seed,这两个函数是c语言库中random和srandom函数的归属