Xamarin.ios Monotouch应用程序无法使用iOS SDK 4.3与Mobclix SDK链接

Xamarin.ios Monotouch应用程序无法使用iOS SDK 4.3与Mobclix SDK链接,xamarin.ios,Xamarin.ios,我在我的应用程序中使用Mobclix做广告,并且我已经使用btouch创建了mono绑定,我已经成功使用了一段时间。我还向我的项目添加了额外的GCC标志,以便链接到Mobclix.a库 不幸的是,在升级到iOS SDK 4.3、MonoTouch 3.2.5和MonoDevelop 2.4.2之后,在构建iOS模拟器时,我无法再链接我的应用程序。我收到以下错误消息: /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g

我在我的应用程序中使用Mobclix做广告,并且我已经使用btouch创建了mono绑定,我已经成功使用了一段时间。我还向我的项目添加了额外的GCC标志,以便链接到Mobclix.a库

不幸的是,在升级到iOS SDK 4.3、MonoTouch 3.2.5和MonoDevelop 2.4.2之后,在构建iOS模拟器时,我无法再链接我的应用程序。我收到以下错误消息:

/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -gdwarf-2 -fobjc-legacy-dispatch -fobjc-abi-version=2 -miphoneos-version-min=4.3 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk /var/folders/JD/JDES4LivFwqM8x7qnFUdg++++TI/-Tmp-/tmp4041c9f3.tmp/main.o -o /var/folders/JD/JDES4LivFwqM8x7qnFUdg++++TI/-Tmp-/tmp4041c9f3.tmp/WordfeudFree -framework CFNetwork -framework AssetsLibrary -framework CoreTelephony -framework EventKit -framework Foundation -framework CoreMotion -framework GameKit -framework MapKit -framework MediaPlayer -framework MessageUI -framework OpenGLES -framework StoreKit -framework UIKit -framework AddressBookUI -framework iAd -framework SystemConfiguration -framework AddressBook -framework AudioToolbox -framework AVFoundation -framework QuartzCore -framework CoreFoundation -framework CoreGraphics -framework CoreLocation -framework ImageIO -framework Security -framework CoreMedia -framework ExternalAccessory -framework EventKitUI -framework QuickLook -lz -u _catch_exception_raise -u _CreateZStream -u _CloseZStream -u _Flush -u _ReadZStream -u _WriteZStream -liconv -lmono -lmonotouch -L/Developer/MonoTouch/SDKs/MonoTouch.iphonesimulator.sdk/usr/lib -framework AddressBook -framework AddressBookUI -framework AudioToolbox -framework AVFoundation -framework CoreGraphics -weak_framework CoreMotion -weak_framework EventKit -framework MediaPlayer -framework MessageUI -framework QuartzCore -framework SystemConfiguration -L/Users/haakon/Code/wordfeud-work/iOS/Wordfeud.Free/Wordfeud.Free/lib -lMobclix_nonthumb -force_load /Users/haakon/Code/wordfeud-work/iOS/Wordfeud.Free/Wordfeud.Free/lib/libMobclix_nonthumb.a Undefined symbols: "__Unwind_Resume", referenced from: +[MobclixFeedback sharedInstance] in libMobclix_nonthumb.a(MobclixFeedback.o) -[MobclixFeedback sendComment:] in libMobclix_nonthumb.a(MobclixFeedback.o) -[MobclixAdViewInternal finishInstrumentation] in libMobclix_nonthumb.a(MobclixAdViewInternal.o) -[MobclixTextAdView finishedLoadingIconURL:withImageData:] in libMobclix_nonthumb.a(MobclixTextAdView.o) -[MobclixInteractiveVideoView finishedLoadingImageURL:withImageData:] in libMobclix_nonthumb.a(MobclixInteractiveVideoView.o) -[MobclixBannerAdView finishedLoadingImageURL:withImageData:] in libMobclix_nonthumb.a(MobclixBannerAdView.o) -[MCResourcesController playVideoImage] in libMobclix_nonthumb.a(MCResourcesController.o) -[MCResourcesController closeIconImage] in libMobclix_nonthumb.a(MCResourcesController.o) -[MCResourcesController closeBlankImage] in libMobclix_nonthumb.a(MCResourcesController.o) -[MCResourcesController closeBoxImage] in libMobclix_nonthumb.a(MCResourcesController.o) -[MCResourcesController backImage] in libMobclix_nonthumb.a(MCResourcesController.o) -[MCResourcesController forwardImage] in libMobclix_nonthumb.a(MCResourcesController.o) +[MCResourcesController sharedResources] in libMobclix_nonthumb.a(MCResourcesController.o) -[NSDictionary(MobclixHelper) stringForKeyPath:] in libMobclix_nonthumb.a(MobclixController.o) -[NSDictionary(MobclixHelper) urlForKeyPath:] in libMobclix_nonthumb.a(MobclixController.o) -[NSDictionary(MobclixHelper) integerForKeyPath:] in libMobclix_nonthumb.a(MobclixController.o) -[NSDictionary(MobclixHelper) floatForKeyPath:] in libMobclix_nonthumb.a(MobclixController.o) +[MobclixController sharedInstanceWithApplicationId:] in libMobclix_nonthumb.a(MobclixController.o) +[NSCharacterSet(MCNSCharacterSet_Extensions) mcLinebreaksCharacterSet] in libMobclix_nonthumb.a(MobclixController.o) +[MCSession currentSession] in libMobclix_nonthumb.a(MCSession.o) -[MCConfig loadConfiguration:] in libMobclix_nonthumb.a(MCConfig.o) +[MCConfig currentConfig] in libMobclix_nonthumb.a(MCConfig.o) +[MCEnvironment platformName] in libMobclix_nonthumb.a(MCEnvironment.o) +[MCEGOHTTPRequest _requestsLock] in libMobclix_nonthumb.a(MCEGOHTTPRequest.o) +[MCEGOHTTPRequest currentRequests] in libMobclix_nonthumb.a(MCEGOHTTPRequest.o) -[MobclixAdEvents initWithEvents:] in libMobclix_nonthumb.a(MobclixAdEvents.o) +[MobclixInstrumentation currentInstrumentation] in libMobclix_nonthumb.a(MobclixInstrumentation.o) ld: symbol(s) not found collect2: ld returned 1 exit status /开发者/平台/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2-arch i386-gdwarf-2-fobjc legacy dispatch-fobjc abi version=2-miphoneos version min=4.3-isysroot/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/var/folders/JD/JD/jdes4livwqwq7qnfudg+++TI/-Tmp-/tmp4041c9f3.Tmp/main.o-o框架/框架-框架-框架-框架-框架-框架-框架-框架- MeMaGePi-框架MeasaGeI-框架OpenGLE——框架存储库-框架UIKit-框架地址簿UI-框架iAd-框架系统配置-框架地址簿-框架音频工具箱-框架AVFoundation-框架QuartzCore-框架CoreFoundation-框架CoreGraphics-框架CoreLocation-框架图像IO-框架安全-框架CoreMedia-框架外部附件-框架EventKitUI-framework QuickLook-lz-u\u catch\u exception\u raise-u\u CreateZStream-u\u CloseZStream-u Flush-u\u ReadZStream-u WriteZStream-liconv-lmono-lmonotouch-L/Developer/MonoTouch/SDKs/MonoTouch.iphonesimulator.sdk/usr/lib-framework-AddressBook-framework-bookui-framework-AudioToolbox-framework-AVFoundation-frameCoreGraphics-弱框架CoreMotion-弱框架EventKit-框架MediaPlayer-框架消息UI-框架QuartzCore-框架系统配置-L/Users/haakon/Code/wordfeud work/iOS/wordfeud.Free/wordfeud.Free/lib-lMobclix\u nonthumb-强制加载/Users/haakon/Code/wordfeud-work/iOS/wordfeud.Free/wordfeud.Free/lib/libMobclix\u nonthumb.a 未定义的符号: “\u展开\u恢复”,引用自: +libMobclix_nonthumb.a(MobclixFeedback.o)中的[MobclixFeedback sharedInstance] -libMobclix_nonthumb.a(MobclixFeedback.o)中的[MobclixFeedback sendcoment:] -libMobclix_nonthumb.a(MobclixAdViewInternal.o)中的[MobclixAdViewInternal finishInstrumentation] -libMobclix_nonthumb.a(mobclixtadview.o)中的[mobclixtadview finishedLoadingIconURL:withImageData:] -libMobclix_nonthumb.a(mobclixinteractiveideview.o)中的[mobclixinteractiveideview完成加载图像url:withImageData:] -libMobclix_nonthumb.a(MobclixBannerAdView.o)中的[MobclixBannerAdView完成加载图像url:withImageData:] -libMobclix_nonthumb.a(MCResourcesController.o)中的[MCResourcesController playVideoImage] -libMobclix_nonthumb.a(MCResourcesController.o)中的[MCResourcesController closeIconImage] -libMobclix_nonthumb.a(MCResourcesController.o)中的[MCResourcesController closeBlankImage] -libMobclix_nonthumb.a(MCResourcesController.o)中的[MCResourcesController closeBoxImage] -libMobclix_nonthumb.a(MCResourcesController.o)中的[MCResourcesController backImage] -libMobclix_nonthumb.a(MCResourcesController.o)中的[MCResourcesController forwardImage] +libMobclix_nonthumb.a(MCResourcesController.o)中的[MCResourcesController sharedResources] -libMobclix_nonthumb.a(MobclixController.o)中的[NSDictionary(MobclixHelper)stringForKeyPath:] -libMobclix_nonthumb.a(MobclixController.o)中的[NSDictionary(MobclixHelper)urlForKeyPath:] -libMobclix_nonthumb.a(MobclixController.o)中的[NSDictionary(MobclixHelper)integerworkeypath:] -libMobclix_nonthumb.a(MobclixController.o)中的[NSDictionary(MobclixHelper)floatForKeyPath:] +libMobclix_nonthumb.a(MobclixController.o)中的[MobclixController sharedInstanceWithApplicationId:] +libMobclix_nonthumb.a(MobclixController.o)中的[NSCharacterSet(MCNSCharacterSet_扩展)mclinebreakschracterset] +libMobclix_nonthumb.a(MCSession.o)中的[MCSession currentSession] -libMobclix_nonthumb.a(MCConfig.o)中的[MCConfig loadConfiguration:] +libMobclix_nonthumb.a(MCConfig.o)中的[MCConfig currentConfig] +libMobclix_nonthumb.a(MCEnvironment.o)中的[MCEnvironment platformName] +libMobclix_nonthumb.a(MCEGOHTTPRequest.o)中的[MCEGOHTTPRequest\u requestsLock] +libMobclix_nonthumb.a(MCEGOHTTPRequest.o)中的[MCEGOHTTPRequest currentRequests] -libMobclix_nonthumb.a(MobclixAdEvents.o)中的[MobclixAdEvents initWithEvents:] +libMobclix_nonthumb.a(mobclixinstruction.o)中的[mobclixinstruction currentInstrumentation] ld:找不到符号 collect2:ld返回了1个退出状态

我理解的是,MaMclix库使用C++(特别是C++异常),而MyLoTou/MaunDeC++中的链接器步骤不与C++标准库链接,或者启用C++异常。我不明白为什么只有在为模拟器构建时才会发生这种情况,或者为什么在我更新MonoTouch和iOS SDK之前不会发生这种情况

有人知道怎么解决这个问题吗


我尝试将-fexceptions和-lstdc++添加到我的-gcc_标志中,但没有任何帮助。

新的MonoTouch Alpha 2有一个新的“额外参数”标志“-cxx”,它将强制链接到g++。试试看。

不幸的是,这没用。我可以看到它在链接时使用了g++,但我得到了相同的错误消息(未定义的符号“\uuu Unwind\u Resume”)。我通过在gcc_标志中添加-lgcc_eh成功地解决了这个问题。我是否使用-cxx并不重要。这也适用于稳定版本的MonoTouch。