编译 GooglsMaps.Framework 时 Apple Mach O Link Key 失败

Posted

技术标签:

【中文标题】编译 GooglsMaps.Framework 时 Apple Mach O Link Key 失败【英文标题】:Apple Mach O Link Key failed when compiling GooglsMaps.Framework 【发布时间】:2014-07-03 18:08:31 【问题描述】:

我尝试在框架中添加所有GoogleMaps.FrameworkGoogleMaps.bundle 执行的时候会报如下错误

我不知道到底发生了什么。您能告诉我添加Google MAP SDK frameworks 的正确方法吗?

我什至添加了框架 libc++.dylib。

错误信息

Undefined symbols for architecture i386:
  "_CGImageSourceCreateImageAtIndex", referenced from:
      _GMSCreateCGImageWithData in GoogleMaps(GMMImageSupport.o)
  "_CGImageSourceCreateWithDataProvider", referenced from:
      _GMSCreateCGImageWithData in GoogleMaps(GMMImageSupport.o)
  "_GLKMatrix3Identity", referenced from:
      gmscore::vector::GLLineGroup::SetTransform(gmscore::math::Matrix4f const&, gmscore::base::reffed_ptr<gmscore::vector::Camera> const&) in GoogleMaps(GLLineGroup.o)
  "_GLKMatrix4Invert", referenced from:
      -[GMSStreetViewView fadeOutLastScene] in GoogleMaps(GMSStreetViewView.o)
      gmscore::streetview::Camera::Unproject(gmscore::math::Vector2f const&, bool*) const in GoogleMaps(Camera-B046EE312980DB98.o)
      gmscore::vector::Camera::UpdateInternals() in GoogleMaps(Camera-3E3856CABC8A9C74.o)
      gmscore::renderer::Camera3D::SetTransform(gmscore::math::Matrix4f const&) in GoogleMaps(Camera3D.o)
      gmscore::renderer::Camera3D::Transform() in GoogleMaps(Camera3D.o)
      non-virtual thunk to gmscore::renderer::Camera3D::Transform() in GoogleMaps(Camera3D.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

【问题讨论】:

【参考方案1】:

仔细检查您的 Xcode 项目中是否包含所有这些框架

AVFoundation.framework
CoreData.framework
CoreLocation.framework
CoreText.framework
GLKit.framework
ImageIO.framework
libc++.dylib
libicucore.dylib
libz.dylib
OpenGLES.framework
QuartzCore.framework
SystemConfiguration.framework

请访问:- https://developers.google.com/maps/documentation/ios/start#getting_the_google_maps_sdk_for_ios

了解有关将 Google Maps SDK for iOS 添加到您的项目的分步说明。

您很可能忘记添加ImageIO.framework

【讨论】:

以上是关于编译 GooglsMaps.Framework 时 Apple Mach O Link Key 失败的主要内容,如果未能解决你的问题,请参考以下文章

Java编译时注解和运行时注解有啥区别

C语言编译时的错误

maven编译时出错了

Groovy编译时元编程 ( 编译 ASTTransformation | 打包 ASTTransformation 字节码文件 | 编译 Groovy 类同进行编译时处理 )

出现中文符号时,编译错误信息显示啥

Groovy编译时元编程 ( 编译时元编程引入 | 声明需要编译时处理的类 | 分析 Groovy 类的 AST 语法树 )