【问题标题】:Cordova: Build Without "-all_load"Cordova:在没有“-all_load”的情况下构建
【发布时间】:2013-05-22 03:39:39
【问题描述】:

我在使用 Cordova 和本机 SDK 附带的第三方插件构建 iOS 应用程序时遇到问题。 Cordova 需要其他 SDK 不满意的链接器标志“-all_load”。

我读过这篇关于“-all_load”标志的帖子:Alternative for all_load in XCode's Other Linker Flags 听起来我可以改用“-force_load”并指定 Cordova 想要的“目标文件”。

我对 Cordova 的内部结构了解不多。有没有人遇到过同样的问题并且能够成功地用“force_load”编译Cordova?您能否提供您的 Cordova 特定“force_load”语法?

【问题讨论】:

    标签: ios xcode cordova phonegap-plugins


    【解决方案1】:

    感谢@David H 的指点,我能够将其他链接器标志“-all_load”开关替换为:

    -force_load $(BUILT_PRODUCTS_DIR)/libCordova.a
    

    Cordova 现在可以正常编译和启动,而不会破坏我不喜欢“-all_load”的其他库

    【讨论】:

      【解决方案2】:

      这里的问题是包含类别的库在早期版本的 Xcode 中没有正确加载。从 4.6 开始,它们应该正在加载,并且您应该能够只使用链接器标志“-ObjC”,它告诉链接器检查库中的此类内容。

      如果由于某种原因 -ObjC 标志不起作用,则强制加载的语法为"

      -force_load $(BUILT_PRODUCTS_DIR)/libxyz.a
      

      【讨论】:

      • 对不起-解释有帮助,但我应该更具体。我正在寻找 Cordova 试图用“all_load”覆盖的库,以便我可以编写适当的“force_load”开关。这个问题是针对 Cordova 的。
      • 因此,查看他们的库并获取他们引用的所有库,并按照上述所有操作 - 即任何非 iOS 提供的库。
      猜你喜欢
      • 2010-11-20
      • 2015-09-22
      • 2020-12-02
      • 1970-01-01
      • 1970-01-01
      • 2015-04-08
      • 2015-09-22
      • 2010-10-04
      • 2014-02-20
      相关资源
      最近更新 更多