【发布时间】:2017-12-03 23:51:43
【问题描述】:
在模拟器模式下一切正常,但在设备模式下出错。 所有库都有 arm64 和 armv7。 我将在第二层发布构建日志。
大家好,我已经解决了这个问题。
Undefined symbols for architecture arm64:
658 1> "_OBJC_CLASS_$_LBBannerKit", referenced from:
659 1> objc-class-ref in registrar.o
660 1> "_OBJC_CLASS_$_SDAutoLayoutLib", referenced from:
661 1> objc-class-ref in registrar.o
662 1> "_OBJC_CLASS_$_UIView_ViewController", referenced from:
663 1> objc-class-ref in registrar.o
664 1> "_OBJC_CLASS_$_UIView_ViewFrameGeometry", referenced from:
665 1> objc-class-ref in registrar.o
666 1> "_OBJC_CLASS_$_ZYBannerViewLib", referenced from:
667 1> objc-class-ref in registrar.o
668 1> "_OBJC_CLASS_$_slideNav", referenced from:
669 1> objc-class-ref in registrar.o
670 1> (maybe you meant: _OBJC_CLASS_$_slideNavBinding_SlideHeadView_SlideHeadViewAppearance
在我的绑定项目的apidefinition文件中发现LBBannerKit之类的名称在这个类中没有内容,所以我猜它在库中没有用,因为这个bingding api内容是基于我的xcode静态库项目的。
所以我删除了LBBannerKit 类
另一个问题是我删除了UIView_ViewController 和UIView_ViewFrameGeometry 方法中的[Category] 属性。
现在在我的项目中没有调用所以,在模拟器模式下编译就可以了,在设备模式下会报错。
很高兴的是,在我解决了该错误之上的所有问题之后。 并构建成功!
【问题讨论】:
-
以上GitHub中的链接是vs2015的构建日志
-
是复选框,如果需要,请在复制项目中的库时选中复制。
-
你需要在构建设置中做这些事情: 1。在 Architectures 中选择标准架构 2. 在 Valid Architectures 添加 arm7, arm7s, arm64 3. 您已将 $(inherited) 添加到 Other Linker Flags。
-
@KKRocks 你好,在 vs 中,在哪里可以找到“标准架构”?