https://blog.csdn.net/d744784681/article/details/60574700
首先列出参考文档:admob官方参考链接
我是cocos2d-x v3.9的工程,在按照官方文档接入之后,出现一堆编译错误例如:
- Undefined symbols for architecture arm64:
- "_OBJC_CLASS_$_GLKView", referenced from:
- objc-class-ref in GoogleMobileAds(flat-arm64)
- "_CVOpenGLESTextureCacheCreateTextureFromImage", referenced from:
- l2673 in GoogleMobileAds(flat-arm64)
- "_CVOpenGLESTextureGetName", referenced from:
- l2673 in GoogleMobileAds(flat-arm64)
- "_kUTTagClassMIMEType", referenced from:
- l2987 in GoogleMobileAds(flat-arm64)
- "_CVOpenGLESTextureCacheCreate", referenced from:
- l2672 in GoogleMobileAds(flat-arm64)
- "_CVPixelBufferGetHeight", referenced from:
- l2670 in GoogleMobileAds(flat-arm64)
- "_CVOpenGLESTextureCacheFlush", referenced from:
- l2671 in GoogleMobileAds(flat-arm64)
- "_CVBufferGetAttachment", referenced from:
- l2670 in GoogleMobileAds(flat-arm64)
- "_UTTypeCreatePreferredIdentifierForTag", referenced from:
- l2987 in GoogleMobileAds(flat-arm64)
- "_CVPixelBufferGetWidth", referenced from:
- l2670 in GoogleMobileAds(flat-arm64)
- "_kCVImageBufferYCbCrMatrixKey", referenced from:
- l2670 in GoogleMobileAds(flat-arm64)
- "_CVOpenGLESTextureGetTarget", referenced from:
- l2673 in GoogleMobileAds(flat-arm64)
- "_kCVPixelBufferPixelFormatTypeKey", referenced from:
- l090 in GoogleMobileAds(flat-arm64)
- "_kCVImageBufferYCbCrMatrix_ITU_R_601_4", referenced from:
- l2670 in GoogleMobileAds(flat-arm64)
- "_GLKMatrix4Identity", referenced from:
- l2664 in GoogleMobileAds(flat-arm64)
- l2675 in GoogleMobileAds(flat-arm64)
- ld: symbol(s) not found for architecture arm64
- clang: error: linker command failed with exit code 1 (use -v to see invocation)
请参见这篇文章的对照表,加入相应的系统框架:参考文章
framework名 | 缺少框架会报的错 |
---|---|
GLKit.framework | _OBJC_CLASS_$_GLKView |
_GLKMatrix4Identity | |
MobileCoreServices.framework | _kUTTagClassMIMEType |
_UTTypeCreatePreferredIdentifierForTag | |
CoreVideo.framework | _CVOpenGLESTextureCacheCreateTextureFromImage |
_CVOpenGLESTextureGetName | |
_CVOpenGLESTextureCacheCreate | |
_CVOpenGLESTextureCacheFlush | |
_CVPixelBufferGetWidth | |
_CVOpenGLESTextureGetTarget | |
_kCVPixelBufferPixelFormatTypeKey | |
_kCVImageBufferYCbCrMatrix_ITU_R_601_4 | |
_CVPixelBufferGetHeight | |
_CVBufferGetAttachment | |
_kCVImageBufferYCbCrMatrixKey | |
StoreKit.framework | _OBJC_CLASS_$_SKProductsRequest |
_OBJC_CLASS_$_SKMutablePayment | |
_OBJC_CLASS_$_SKPaymentQueue | |
_OBJC_CLASS_$_SKStoreProductViewController | |
_SKStoreProductParameterITunesItemIdentifier | |
MediaPlayer.framework | _MPMoviePlayerPlaybackDidFinishNotification |
_MPMoviePlayerPlaybackStateDidChangeNotification | |
_OBJC_CLASS_$_MPMoviePlayerController | |
_OBJC_CLASS_$_MPVolumeView | |
SafariServices.framework | _OBJC_CLASS_$_SFSafariViewController |
AdSupport.framework | _OBJC_CLASS_$_ASIdentifierManager |
CoreMotion.framework | _OBJC_CLASS_$_CMMotionManager |
CoreTelephony.framework | _CTRadioAccessTechnologyDidChangeNotification |
_OBJC_CLASS_$_CTTelephonyNetworkInfo | |
MessageUI.framework | _OBJC_CLASS_$_MFMailComposeViewController |
_OBJC_CLASS_$_MFMessageComposeViewController | |
CoreText.framework | _CTFramesetterCreateWithAttributedString |
_CTFramesetterSuggestFrameSizeWithConstraints | |
GameKit.framework | _OBJC_CLASS_$_GKAchievement |
_OBJC_CLASS_$_GKScore | |
_OBJC_CLASS_$_GKGameCenterViewController | |
_OBJC_CLASS_$_GKLocalPlayer | |
SystemConfiguration.framework | _SCNetworkReachabilityCreateWithAddress |
_SCNetworkReachabilityGetFlags | |
_SCNetworkReachabilityCreateWithName | |
_SCNetworkReachabilitySetDispatchQueue | |
_SCNetworkReachabilitySetCallback | |
Security.framework | _SecCertificateCreateWithData |
_SecTrustCopyExceptions | |
_SecTrustEvaluate | |
_SecTrustSetAnchorCertificates | |
_SecTrustSetExceptions | |
CoreMedia.framework | _CMTimeGetSeconds |
_CMTimeMakeWithSeconds | |
_CMTimeMake | |
_kCMTimeZero | |
OpenGLES.framework | _OBJC_CLASS_$_EAGLContext |
_glActiveTexture | |
CFNetwork.framework | _CFHostCreateWithName |
_CFHostStartInfoResolution | |
_CFHostGetAddressing |
在接入admob插屏广告的时候,我就遇到上面的一类问题,然后就OK了