Undefined symbols for the i386 architecture: "_GLKMatrix3Identity" referenced:

I am trying to import the Google Maps SDK and add the whole library as described on google maps. Please help me!:)

Undefined symbols for architecture i386: "_GLKMatrix3Identity", referenced from: gmscore::vector::GLLineGroup::SetTransform(gmscore::math::Matrix4f const&, gmscore::base::reffed_ptr<gmscore::vector::Camera> const&) in GoogleMaps(GLLineGroup.o) gmscore::vector::GLAlphaOnlyTextureShaderProgram::GLAlphaOnlyTextureShaderProgram(bool) in GoogleMaps(GLBasicShaderState.o) gmscore::renderer::TextureState::TextureState(unsigned int) in GoogleMaps(TextureState.o) gmscore::renderer::TextureState::TextureState(unsigned int) in GoogleMaps(TextureState.o) gmscore::renderer::TextureState::TextureState(gmscore::base::reffed_ptr<gmscore::renderer::ImageData> const&) in GoogleMaps(TextureState.o) gmscore::renderer::TextureState::TextureState(gmscore::base::reffed_ptr<gmscore::renderer::ImageData> const&, gmscore::renderer::TextureState::TextureUnit) in GoogleMaps(TextureState.o) gmscore::renderer::TextureState::TextureState(gmscore::base::reffed_ptr<gmscore::renderer::ImageData> const&, gmscore::renderer::TextureState::TextureUnit, bool, gmscore::renderer::TextureState::Filter, gmscore::renderer::TextureState::Filter) in GoogleMaps(TextureState.o) ... gmscore::vector::GLLineGroup::SetTransform(gmscore::math::Matrix4f const&, gmscore::base::reffed_ptr<gmscore::vector::Camera> const&) in GoogleMaps(GLLineGroup.o) gmscore::vector::GLAlphaOnlyTextureShaderProgram::GLAlphaOnlyTextureShaderProgram(bool) in GoogleMaps(GLBasicShaderState.o) gmscore::renderer::TextureState::TextureState(unsigned int) in GoogleMaps(TextureState.o) gmscore::renderer::TextureState::TextureState(unsigned int) in GoogleMaps(TextureState.o) gmscore::renderer::TextureState::TextureState(gmscore::base::reffed_ptr<gmscore::renderer::ImageData> const&) in GoogleMaps(TextureState.o) gmscore::renderer::TextureState::TextureState(gmscore::base::reffed_ptr<gmscore::renderer::ImageData> const&, gmscore::renderer::TextureState::TextureUnit) in GoogleMaps(TextureState.o) gmscore::renderer::TextureState::TextureState(gmscore::base::reffed_ptr<gmscore::renderer::ImageData> const&, gmscore::renderer::TextureState::TextureUnit, bool, gmscore::renderer::TextureState::Filter, gmscore::renderer::TextureState::Filter) in GoogleMaps(TextureState.o) ... gmscore::vector::GLLineGroup::SetTransform(gmscore::math::Matrix4f const&, gmscore::base::reffed_ptr<gmscore::vector::Camera> const&) in GoogleMaps(GLLineGroup.o) gmscore::vector::GLAlphaOnlyTextureShaderProgram::GLAlphaOnlyTextureShaderProgram(bool) in GoogleMaps(GLBasicShaderState.o) gmscore::renderer::TextureState::TextureState(unsigned int) in GoogleMaps(TextureState.o) gmscore::renderer::TextureState::TextureState(unsigned int) in GoogleMaps(TextureState.o) gmscore::renderer::TextureState::TextureState(gmscore::base::reffed_ptr<gmscore::renderer::ImageData> const&) in GoogleMaps(TextureState.o) gmscore::renderer::TextureState::TextureState(gmscore::base::reffed_ptr<gmscore::renderer::ImageData> const&, gmscore::renderer::TextureState::TextureUnit) in GoogleMaps(TextureState.o) gmscore::renderer::TextureState::TextureState(gmscore::base::reffed_ptr<gmscore::renderer::ImageData> const&, gmscore::renderer::TextureState::TextureUnit, bool, gmscore::renderer::TextureState::Filter, gmscore::renderer::TextureState::Filter) in GoogleMaps(TextureState.o) ... gmscore::vector::GLLineGroup::SetTransform(gmscore::math::Matrix4f const&, gmscore::base::reffed_ptr<gmscore::vector::Camera> const&) in GoogleMaps(GLLineGroup.o) gmscore::vector::GLAlphaOnlyTextureShaderProgram::GLAlphaOnlyTextureShaderProgram(bool) in GoogleMaps(GLBasicShaderState.o) gmscore::renderer::TextureState::TextureState(unsigned int) in GoogleMaps(TextureState.o) gmscore::renderer::TextureState::TextureState(unsigned int) in GoogleMaps(TextureState.o) gmscore::renderer::TextureState::TextureState(gmscore::base::reffed_ptr<gmscore::renderer::ImageData> const&) in GoogleMaps(TextureState.o) gmscore::renderer::TextureState::TextureState(gmscore::base::reffed_ptr<gmscore::renderer::ImageData> const&, gmscore::renderer::TextureState::TextureUnit) in GoogleMaps(TextureState.o) gmscore::renderer::TextureState::TextureState(gmscore::base::reffed_ptr<gmscore::renderer::ImageData> const&, gmscore::renderer::TextureState::TextureUnit, bool, gmscore::renderer::TextureState::Filter, gmscore::renderer::TextureState::Filter) in GoogleMaps(TextureState.o) ... "_GLKMatrix4Identity", referenced from: -[GMSTilesEntityProvider updateAndTransformTile:camera:renderer:behavior:] in GoogleMaps(GMSTilesEntityProvider.o) -[GMSGLVectorTile applyTransform:camera:] in GoogleMaps(GMSGLVectorTile.o) (anonymous namespace)::PointsBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GMSPointsEntityProvider.o) (anonymous namespace)::StickerBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GMSStickersEntityProvider.o) (anonymous namespace)::BubbleBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GMSBubbleEntityProvider.o) gmscore::streetview::Panorama::Panorama(int, int, int, int, int, int) in GoogleMaps(Panorama.o) gmscore::vector::UpdateMyLocationBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GLMyLocation.o) ... -[GMSTilesEntityProvider updateAndTransformTile:camera:renderer:behavior:] in GoogleMaps(GMSTilesEntityProvider.o) -[GMSGLVectorTile applyTransform:camera:] in GoogleMaps(GMSGLVectorTile.o) (anonymous namespace)::PointsBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GMSPointsEntityProvider.o) (anonymous namespace)::StickerBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GMSStickersEntityProvider.o) (anonymous namespace)::BubbleBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GMSBubbleEntityProvider.o) gmscore::streetview::Panorama::Panorama(int, int, int, int, int, int) in GoogleMaps(Panorama.o) gmscore::vector::UpdateMyLocationBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GLMyLocation.o) ... -[GMSTilesEntityProvider updateAndTransformTile:camera:renderer:behavior:] in GoogleMaps(GMSTilesEntityProvider.o) -[GMSGLVectorTile applyTransform:camera:] in GoogleMaps(GMSGLVectorTile.o) (anonymous namespace)::PointsBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GMSPointsEntityProvider.o) (anonymous namespace)::StickerBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GMSStickersEntityProvider.o) (anonymous namespace)::BubbleBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GMSBubbleEntityProvider.o) gmscore::streetview::Panorama::Panorama(int, int, int, int, int, int) in GoogleMaps(Panorama.o) gmscore::vector::UpdateMyLocationBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GLMyLocation.o) ... -[GMSTilesEntityProvider updateAndTransformTile:camera:renderer:behavior:] in GoogleMaps(GMSTilesEntityProvider.o) -[GMSGLVectorTile applyTransform:camera:] in GoogleMaps(GMSGLVectorTile.o) (anonymous namespace)::PointsBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GMSPointsEntityProvider.o) (anonymous namespace)::StickerBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GMSStickersEntityProvider.o) (anonymous namespace)::BubbleBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GMSBubbleEntityProvider.o) gmscore::streetview::Panorama::Panorama(int, int, int, int, int, int) in GoogleMaps(Panorama.o) gmscore::vector::UpdateMyLocationBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GLMyLocation.o) ... -[GMSTilesEntityProvider updateAndTransformTile:camera:renderer:behavior:] in GoogleMaps(GMSTilesEntityProvider.o) -[GMSGLVectorTile applyTransform:camera:] in GoogleMaps(GMSGLVectorTile.o) (anonymous namespace)::PointsBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GMSPointsEntityProvider.o) (anonymous namespace)::StickerBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GMSStickersEntityProvider.o) (anonymous namespace)::BubbleBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GMSBubbleEntityProvider.o) gmscore::streetview::Panorama::Panorama(int, int, int, int, int, int) in GoogleMaps(Panorama.o) gmscore::vector::UpdateMyLocationBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GLMyLocation.o) ... -[GMSTilesEntityProvider updateAndTransformTile:camera:renderer:behavior:] in GoogleMaps(GMSTilesEntityProvider.o) -[GMSGLVectorTile applyTransform:camera:] in GoogleMaps(GMSGLVectorTile.o) (anonymous namespace)::PointsBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GMSPointsEntityProvider.o) (anonymous namespace)::StickerBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GMSStickersEntityProvider.o) (anonymous namespace)::BubbleBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GMSBubbleEntityProvider.o) gmscore::streetview::Panorama::Panorama(int, int, int, int, int, int) in GoogleMaps(Panorama.o) gmscore::vector::UpdateMyLocationBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GLMyLocation.o) ... -[GMSTilesEntityProvider updateAndTransformTile:camera:renderer:behavior:] in GoogleMaps(GMSTilesEntityProvider.o) -[GMSGLVectorTile applyTransform:camera:] in GoogleMaps(GMSGLVectorTile.o) (anonymous namespace)::PointsBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GMSPointsEntityProvider.o) (anonymous namespace)::StickerBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GMSStickersEntityProvider.o) (anonymous namespace)::BubbleBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GMSBubbleEntityProvider.o) gmscore::streetview::Panorama::Panorama(int, int, int, int, int, int) in GoogleMaps(Panorama.o) gmscore::vector::UpdateMyLocationBehavior::Commit(gmscore::renderer::EntityRenderer*) in GoogleMaps(GLMyLocation.o) ... ... "_GLKMatrix4Invert", referenced from: gmscore::streetview::Camera::Unproject(gmscore::math::Vector2f const&, bool*) 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) "_OBJC_CLASS_$_GLKView", referenced from: _OBJC_CLASS_$_GMSEntityRendererView in GoogleMaps(GMSEntityRendererView.o) "_OBJC_METACLASS_$_GLKView", referenced from: _OBJC_METACLASS_$_GMSEntityRendererView in GoogleMaps(GMSEntityRendererView.o) ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation) 
+6
source share
2 answers

Hope you have already solved this. The problem you are facing is that you do not have GLKit.framework related in the build phases.

You should check the Getting Started page for a complete list of installation instructions, but the appropriate step is below.

Open the "Phase assembly" tab and add the following frameworks to the "Binary link file" with libraries:

  • AVFoundation.framework
  • Coredata.framework
  • CoreLocation.framework
  • CoreText.framework
  • GLKit.framework
  • ImageIO.framework
  • Lib ++. Dylib
  • libicucore.dylib
  • libz.dylib
  • OpenGLES.framework
  • QuartzCore.framework
  • SystemConfiguration.framework
+26
source

Over Frameworks Plus

I noticed the following changes when I updated the application using the old Google Maps SDK, which was installed manually:

You need to refer to CoreBluetooth.framework and Accelerate.framework in the build phases → Link Bundle with Libraries. The -all_load flag in the Other Linker Flags section will result in duplicate character errors. (Use -ObjC instead.) If you use the CocoaPods installation method (according to their current instructions), it should accept the necessary frameworks, but it will still be confused by -all_load.

+1
source

Source: https://habr.com/ru/post/950509/


All Articles