编译时出现 Ibm MobileFirst Linker 错误

Posted

技术标签:

【中文标题】编译时出现 Ibm MobileFirst Linker 错误【英文标题】:Ibm MobileFirst Linker error at compile time 【发布时间】:2016-10-10 13:24:38 【问题描述】:

我正在使用 IBM MobileFirst Platform Fondation 8.0、Ionic2 和 Cordova 开发一个混合应用程序。 在 ios 上,我在编译时发现了一个问题,使用默认的移动优先离子模板也会发生同样的问题,因此我无法在模拟器上上传软件。

这是我的配置:

Cordova CLI: 6.3.1
Ionic Framework Version: 2.0.0-beta.11
Ionic CLI Version: 2.1.0
Ionic App Lib Version: 2.0.0-beta.20
ios-deploy version: 1.8.6  
ios-sim version: 5.0.8  
OS: Mac OS X Yosemite 
Node Version: v4.4.3 
Xcode version: Xcode 6.4 Build version 6E35b

在编译时我得到以下链接错误:

1] 架构 x86_64 的未定义符号:

std::terminate()", referenced from:
___clang_call_terminate in IBMMobileFirstPlatformFoundationHybrid(ZipArchive.o)
___cxa_begin_catch", referenced from: 
 ___clang_call_terminate in IBMMobileFirstPlatformFoundationHybrid(ZipArchive.o) 
 ___gxx_personality_v0", referenced from: 

[...]

在互联网上,我发现了一个添加 Xcode 链接器选项的建议:-lc++

2] 架构 x86_64 的未定义符号: _crc32",引用自: -IBMMobileFirstPlatformFoundationHybrid(ZipArchive.o) 中的 [ZipArchive addFileToZip:newname:] _deflate”,引用自: IBMMobileFirstPlatformFoundationHybrid(zip.o) 中的 _zipWriteInFileInZip [...]

在互联网上,我发现了一个添加 Xcode 链接器选项的建议:-lc++

已解决将 -lz 添加到链接器选项中。

3] 重复符号_llvm.cmdline in:

Torna a Casa/Plugins/cordova-plugin-mfp/IBMMobileFirstPlatformFoundationJSONStore.framework/IBMMobileFirstPlatformFoundationJSONStore(JSONStoreValidator.o)

Torna a Casa/Plugins/cordova-plugin-mfp/IBMMobileFirstPlatformFoundationJSONStore.framework/IBMMobileFirstPlatformFoundationJSONStore(JSONStoreIndexer.o)

可以解决删除 -ObjC 但删除它应用程序崩溃并出现以下错误:

[__NSDictionaryM cordovaSettingForKey:]: unrecognized selector sent to instance 0x7f814d2081a0 

我在某个地方发现了添加 ENABLE_BITCODE = NO 的建议,但它已经是了。

谢谢。 丹尼尔

【问题讨论】:

请注意,IBM 并未正式提供任何“默认 Ionic 模板”。 另请注意,您的 Xcode 版本较旧,您至少应该升级到 Xcode 7。 【参考方案1】:

你不需要做任何这些变通方法。

    至少将您的 Xcode 升级到 v7.0。 然后确保您按照以下基本步骤在 Ionic 应用程序中使用 MobileFirst:https://mobilefirstplatform.ibmcloud.com/blog/2016/07/19/integrating-mobilefirst-foundation-8-in-ionic-based-apps/

【讨论】:

以上是关于编译时出现 Ibm MobileFirst Linker 错误的主要内容,如果未能解决你的问题,请参考以下文章

在 IBM MobileFirst Test Workbench 中执行记录的测试时出现 NoSuchMethodError

在 IBM MobileFirst Application Center Console 中使用代理上传外部应用程序时出现问题

IBM Mobilefirst JAVA 适配器在存储用户数据时出现 MFP-Conflict=Concurrency 失败

IBM MobileFirst 8 - 推送通知错误代码:invalid_client

将 IBM MobileFirst 平台服务器从 v7.1 升级到 v8.0 时出错

将 Cordova-Sqlite 2 插件集成到现有的 IBM MobileFirst 应用程序中