gpt4 book ai didi

objective-c - 为 iOS 和模拟器创建一个静态库以供分发

转载 作者:可可西里 更新时间:2023-11-01 03:33:21 26 4
gpt4 key购买 nike

如果您为 iOS 创建一个静态库,您是否必须随它一起分发头文件,或者是否有其他方法让它工作?

目前我有一个用于设备和模拟器的 my_lib.a 文件,但是当我将它拖到另一个测试应用程序中使用它时,它说它找不到标题以及我在其中使用它的所有地方代码未声明。所以我想我要么做错了什么,要么我还必须发送相应的头文件。

我的过程背景:

我看过两个为设备和模拟器创建静态库的指南。本网站上的一个:Build fat static library (device + simulator) using Xcode and SDK 4+

还有一个:http://mark.aufflick.com/blog/2010/11/19/making-a-fat-static-library-for-ios-device-and-simulator

我使用第二个站点来尝试一下。如果我做对了,我也有点好奇。我刚进入 Release-iphone(os|simulator) 文件夹,在 ios 文件夹中找到 .a,在模拟器文件夹中找到 .o。

最佳答案

简短的回答是肯定的,您必须将头文件与您的静态库一起打包。实际上,您必须将头文件与任何库一起打包,无论是动态的还是静态的。库本身包含编译后的代码,但您仍然必须将库中的标识符告知编译器,以便在编译您的代码时知道它们存在。

如果您愿意,可以稍微小心地将您的静态库打包到静态框架中。您只需创建与动态框架相同的目录结构,用您的 .a 文件代替 .dylib(或 .so)文件。框架包含一个 header 目录,因此您可以将二进制文件和 header 作为一个包分发,并且您可以轻松地从框架导入 header ,而不会弄乱其他 header 搜索路径build设置。

关于objective-c - 为 iOS 和模拟器创建一个静态库以供分发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4330020/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com