是否有任何第三方工具为armv6 / armv7创建静态库?

时间:2011-10-07 04:12:04

标签: iphone c++ ios arm static-libraries

我在C/C++中有一些源代码。我必须在我的iPhone应用程序中使用静态库。是否有任何第三方工具为armv6 / armv7创建静态库?

3 个答案:

答案 0 :(得分:1)

我会推荐iOS Universal Framework。我用它来创建一些静态框架,我链接到我的应用程序项目。它就像一个魅力,非常容易设置 - 无需提出自己复杂的shell脚本。

它为新的目标项目类型添加了一个模板,然后您可以像普通的Apple框架一样导入和使用它。我建议设置一个包含框架项目和应用程序项目的工作区,这样Xcode就会自动处理依赖项。

答案 1 :(得分:1)

此链接将帮助您在xcode中创建静态库...

http://www.icodeblog.com/2011/04/07/creating-static-libraries-for-ios/

只需将.m文件重命名为.mm文件,并在其中编写c / c ++实现代码....

首先尝试使用小功能,如果适用,可以在其中实现所有类...

请确保当您尝试在XCODE中的任何其他项目中使用此库时,只对所有文件使用.mm扩展名,即使是appdelegate ...希望这会有所帮助。

答案 2 :(得分:1)

通常,您不希望链接到使用除用于编译lib的编译器之外的其他编译器创建的静态库。静态库在编译器之间并不是真正可移植的,因为静态库格式不包含在C / C ++标准中。由于名称损坏和其他格式差异,您可能根本无法链接,或者更糟糕的是,它似乎工作但注入错误。更糟糕的是,如果您在lib中使用编译器中的标准库,当有人链接到您的lib并且他们不使用标准库的IDENTICAL版本时,它会产生可怕的名称冲突!

使用您希望它们使用的编译器发布lib。如果您必须使用标准库,那么您必须确保它们具有相同的版本。真的,你应该让他们自己编译lib或为你支持的每个编译器预构建它。它很糟糕,但这就是今天它的现实。