Cordova 3.5 iOS 编译错误

Posted

技术标签:

【中文标题】Cordova 3.5 iOS 编译错误【英文标题】:Cordova 3.5 iOS Compile Error 【发布时间】:2014-05-29 19:33:28 【问题描述】:

我刚刚将 phonegap 项目升级到了 cordova 3.5,但我无法再编译我的应用程序了。这是 Xcode 的输出:

    Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_CDVFile", referenced from:
      objc-class-ref in CDVCapture.o
     (maybe you meant: _OBJC_CLASS_$_CDVFileTransfer, _OBJC_CLASS_$_CDVFileTransferEntityLengthRequest , _OBJC_CLASS_$_CDVFileTransferDelegate )
  "_OBJC_CLASS_$_CDVFilesystemURL", referenced from:
      objc-class-ref in CDVFileTransfer.o
  "_CGImageDestinationCreateWithURL", referenced from:
      -[ReaderThumbRender main] in ReaderThumbRender.o
  "_CGImageDestinationAddImage", referenced from:
      -[ReaderThumbRender main] in ReaderThumbRender.o
  "_OBJC_CLASS_$_CMMotionManager", referenced from:
      objc-class-ref in iPhone_Sensors.o
      objc-class-ref in CDVAccelerometer.o
      objc-class-ref in libQCAR.a(libQCAR.a-armv7-master.o)
  "_CGImageDestinationFinalize", referenced from:
      -[ReaderThumbRender main] in ReaderThumbRender.o
  "_CGImageSourceCreateWithURL", referenced from:
      -[ReaderThumbFetch main] in ReaderThumbFetch.o
  "_CGImageSourceCreateImageAtIndex", referenced from:
      -[ReaderThumbFetch main] in ReaderThumbFetch.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我认为 libCordova.a 的链接器标志可能已关闭,但这似乎不是问题。谁能指出我正确的方向?

【问题讨论】:

试试这个 - 复制你的 www 文件夹。使用更新后的cordova创建一个新应用程序并将其www替换为您的文件夹然后尝试编译它。 您找到解决方案了吗? 【参考方案1】:

刚才遇到了类似的问题。

在您的Project > Targets 设置中,转到Build Phases > Compile Sources 并在plugins 目录下添加所有*.m 文件。这应该可以解决问题。

【讨论】:

这是一个很常见的问题,应该是 Cordova 插件注册网站上的一个脚注。

以上是关于Cordova 3.5 iOS 编译错误的主要内容,如果未能解决你的问题,请参考以下文章

Cordova - 安装camera插件之后编译错误解决方法!

Cordova - XCode10编译热更新插件错误解决方法!

在为 iOS 编写 Bluemix Cordova 应用程序时发生位码错误

尝试编译代码时,MonoGame 3.5解决方案构建错误

编译时出现 Ibm MobileFirst Linker 错误

TACO TFS iOS 构建错误“尚未为 node.js 版本 v6.10.1 预编译边缘模块”