CodenameOne "Undefined symbols" 添加本机库时出错
CodenameOne "Undefined symbols" error when adding native library
我正在尝试将 Honeywell Captuvo iOS 库作为本地库添加到我的 CodenameOne 项目中。我已经完成了 "Generate Native Access" 过程并将 .a 库放在 native/ios 目录中。但是,当我发送要构建的应用程序时,它会返回错误:
架构 arm64 的未定义符号:
"_OBJC_CLASS_$_EAAccessoryManager",引用自:
libCaptuvoSDK.a(CaptuvoReal.o)
中的 objc-class-ref
非常感谢
重新阅读错误消息,我似乎错过了一个关键细节。您需要将 ExternalAccessory.framework
添加到您的项目中。为此,您需要定义构建提示:ios.add_libs=ExternalAccessory.framework
原回答如下:
.a
库的名称是否以小写单词 lib
开头并且实际上是否以 .a
结尾。如果不确定,请确保重命名它以使其遵守这些限制。
假设两者都可以,您将需要验证库在这种情况下是否确实具有所需的架构 arm64。
这在这个问题中有解释:How to check if a static library is built for 64-bit?
我会使用第二个建议:file libFileName.a
它应该在支持的架构列表中包括 arm64。
我正在尝试将 Honeywell Captuvo iOS 库作为本地库添加到我的 CodenameOne 项目中。我已经完成了 "Generate Native Access" 过程并将 .a 库放在 native/ios 目录中。但是,当我发送要构建的应用程序时,它会返回错误:
架构 arm64 的未定义符号:
"_OBJC_CLASS_$_EAAccessoryManager",引用自: libCaptuvoSDK.a(CaptuvoReal.o)
中的 objc-class-ref非常感谢
重新阅读错误消息,我似乎错过了一个关键细节。您需要将 ExternalAccessory.framework
添加到您的项目中。为此,您需要定义构建提示:ios.add_libs=ExternalAccessory.framework
原回答如下:
.a
库的名称是否以小写单词 lib
开头并且实际上是否以 .a
结尾。如果不确定,请确保重命名它以使其遵守这些限制。
假设两者都可以,您将需要验证库在这种情况下是否确实具有所需的架构 arm64。
这在这个问题中有解释:How to check if a static library is built for 64-bit?
我会使用第二个建议:file libFileName.a
它应该在支持的架构列表中包括 arm64。