gpt4 book ai didi

ios - 针对 iOS 8 SDK 构建的静态库与 Metal 框架链接

转载 作者:可可西里 更新时间:2023-11-01 05:28:44 24 4
gpt4 key购买 nike

在构建我使用 iOS 8 SDK 编写的静态库时,生成的库链接到金属框架:

$ otool -arch all -fl <static library>

...
Load command 12
519 cmd LC_LINKER_OPTION
520 cmdsize 32
521 count 2
522 string #1 -framework
523 string #2 Metal
...

我认为这是通过 UIKit 实现的;我不直接链接它,“与标准库链接”是 NO。这会导致带有 iOS 7 的 Xcode 5.1.1 出现问题,因为此框架不存在。使用 Xcode 5 构建静态库不与金属链接,但我宁愿使用最新的 Xcode 生产版本构建,在某些时候我将不得不解决这个问题。我如何使用 Xcode 6 构建并为 Xcode 5 用户解决此问题?

另请参阅另一个有此问题的开发人员,他只是使用了他需要的特定框架,但没有与 Metal 链接,但我不能这样做,因为我需要与 UIKit 链接: https://github.com/card-io/card.io-iOS-SDK/issues/66 https://github.com/CocoaPods/CocoaPods/issues/2457

最佳答案

Dave 来自 card.io。即,上面提到的“另一个开发者”。

我们的解决方案应该对您有用,它是在构建我们的静态库时将两个build设置设置为 NO:CLANG_ENABLE_MODULESCLANG_MODULES_AUTOLINK (又名 启用模块(C 和 Objective-C)自动链接框架)。

在禁用这些模块设置的情况下构建您的库将完全消除 LC_LINKER_OPTION 命令。

使用您的库的应用程序可以启用或不启用这些模块设置。应用程序(而不是您的库)必须包含 UIKit.framework 等,可以通过模块自动或手 Action 为“链接库”。

关于ios - 针对 iOS 8 SDK 构建的静态库与 Metal 框架链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25861021/

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