iOS-链接动态库中的静态库,而不包括源文件 我正在制作一个动态的框架,它需要一些来自卡IO .c/p>的C++库。 我的问题是,由于位代码,我的框架大小太大(超过150 MB),我认为从卡IO最多的3个C++库占多数。

iOS-链接动态库中的静态库,而不包括源文件 我正在制作一个动态的框架,它需要一些来自卡IO .c/p>的C++库。 我的问题是,由于位代码,我的框架大小太大(超过150 MB),我认为从卡IO最多的3个C++库占多数。,ios,Ios,所以我想把这3个文件留给客户端(客户端需要包括它们,而不是我用我的框架来做),使用我的框架=>框架大小应该减少一些 以下是我目前的结构: Client Project -My framework (dynamic) --Card IO headers --Card IO c++ libraries (.a) THIS ONE I DON'T WANT TO HAVE HERE (static c++) -Client code 我试图在我的框架内的其他3个C++静态库中与弱链接链接,但在链接标

所以我想把这3个文件留给客户端(客户端需要包括它们,而不是我用我的框架来做),使用我的框架=>框架大小应该减少一些

以下是我目前的结构:

Client Project
-My framework (dynamic)
--Card IO headers
--Card IO c++ libraries (.a) THIS ONE I DON'T WANT TO HAVE HERE (static c++)
-Client code

我试图在我的框架内的其他3个C++静态库中与弱链接链接,但在链接标记中失败了,因为Bitcode和弱链接不兼容。 我试图将Card IO的文件夹移动到找不到的客户端项目(我为所有项目添加了路径,如库搜索路径、框架搜索路径…所有内容)

此时,我不知道我能做什么,因为我从一个框架中发现了一个从MistPase<强>中的框架,他们可以把C++留在他们的框架之外(客户端应用程序需要下载和集成),也可以启用Bitcode。 我的目标是: -在生成和导出为.framework时,我的框架不需要包含3个静态库 -客户端项目需要下载并包括3个静态库,如果他们想使用该功能

如果有人帮我,那就太好了


感谢阅读。

我不确定它是否有效,但我认为有一种方法可以定义一个导出符号列表,然后所有其他未使用的代码将不会被链接。给客户一个更大的框架有什么问题?无论如何,他们仍然需要静态库。并且,您打开了静态lib版本中不匹配的可能性。或者您的目标是分别交付框架和静态LIB?当你说你尝试了弱链接,在哪里?在构建框架或使用框架的最终应用程序时?对不起,理解你想说的话有点让人困惑。。。您的标题上写着“源文件”,但您继续列出了C++/静态库。@MobileBen感谢您的更正。是的,当导出框架时,我不想包含这3个C++静态库,而在使用我的框架时,客户端需要包含/集成它们。我想把它们排除在外,因为有很多客户使用我的框架,并且还抱怨大小。此外,在导出IPA文件的时候,客户端甚至不想包含它们。在构建框架的构建阶段,C++ LIBS是否被列在“lib二进制库”中?@ MobileBen是当前解决方案,因为我仍然需要它。因为如果我删除它,就会出现如下错误:错误:linker命令失败,退出代码为1(使用-v查看调用)