针对iOS 8 SDK构建的静态库与Metal框架链接
在构建我使用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.这会导致Xcode 5.1.1与iOS 7出现问题,因为该框架不存在.使用Xcode 5构建静态库并不与金属链接,但我宁愿用Xcode的最新生产版本构建,在某些时候我将不得不解决这个问题.如何使用Xcode 6构建并解决Xcode 5用户的这个问题? 另见另一位有这个问题的开发人员,他只是使用了他所需的特定框架,但没有与Metal链接,但我不能这样做,因为我需要与UIKit链接: 解决方法
戴夫来自card.io.即,上面引用的“另一个开发者”.
我们的解决方案应该适合您,在构建我们的静态库时设置为NO两个构建设置:CLANG_ENABLE_MODULES和CLANG_MODULES_AUTOLINK(a.k.a启用模块(C和Objective-C)和自动链接框架). 在禁用这些模块设置的情况下构建库将完全消除LC_LINKER_OPTION命令. 使用您的库的应用程序可以启用或不启用这些模块设置.应用程序(而不是您的库)必须包含UIKit.framework等,可以通过模块自动包含,也可以手动作为“链接库”. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |