【发布时间】:2011-03-18 14:26:13
【问题描述】:
我在我的应用程序中使用 Mobclix 来制作广告,并且我已经使用 btouch 创建了单声道绑定,我已经成功使用了一段时间。我还在我的项目中添加了额外的 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 Exter nalAccessory -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 未定义的符号: “__Unwind_Resume”,引用自: +[MobclixFeedback sharedInstance] 在 libMobclix_nonthumb.a(MobclixFeedback.o) -[MobclixFeedback sendComment:] 在 libMobclix_nonthumb.a(MobclixFeedback.o) - [MobclixAdViewInternal finishInstrumentation] 在 libMobclix_nonthumb.a(MobclixAdViewInternal.o) - [MobclixTextAdView finishedLoadingIconURL:withImageData:] 在 libMobclix_nonthumb.a(MobclixTextAdView.o) -[MobclixInteractiveVideoView finishedLoadingImageURL:withImageData:] 在 libMobclix_nonthumb.a(MobclixInteractiveVideoView.o) -[MobclixBannerAdView finishedLoadingImageURL:withImageData:] 在 libMobclix_nonthumb.a(MobclixBannerAdView.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(MCResourcesController.o) -[NSDictionary(MobclixHelper) stringForKeyPath:] 在 libMobclix_nonthumb.a(MobclixController.o) -[NSDictionary(MobclixHelper) urlForKeyPath:] 在 libMobclix_nonthumb.a(MobclixController.o) -[NSDictionary(MobclixHelper) integerForKeyPath:] 在 libMobclix_nonthumb.a(MobclixController.o) -[NSDictionary(MobclixHelper) floatForKeyPath:] 在 libMobclix_nonthumb.a(MobclixController.o) +[MobclixController sharedInstanceWithApplicationId:] 在 libMobclix_nonthumb.a(MobclixController.o) +[NSCharacterSet(MCNSCharacterSet_Extensions) mcLinebreaksCharacterSet] 在 libMobclix_nonthumb.a(MobclixController.o) +[MCSession currentSession] 在 libMobclix_nonthumb.a(MCSession.o) -[MCConfig loadConfiguration:] 在 libMobclix_nonthumb.a(MCConfig.o) +[MCConfig currentConfig] 在 libMobclix_nonthumb.a(MCConfig.o) +[MCEnvironment platformName] 在 libMobclix_nonthumb.a(MCEnvironment.o) +[MCEGOHTTPRequest _requestsLock] 在 libMobclix_nonthumb.a(MCEGOHTTPRequest.o) +[MCEGOHTTPRequest currentRequests] 在 libMobclix_nonthumb.a(MCEGOHTTPRequest.o) -[MobclixAdEvents initWithEvents:] 在 libMobclix_nonthumb.a(MobclixAdEvents.o) +[MobclixInstrumentation currentInstrumentation] 在 libMobclix_nonthumb.a(MobclixInstrumentation.o) ld:未找到符号 collect2: ld 返回 1 个退出状态据我了解,问题在于 Mobclix 库使用 C++(尤其是 C++ 异常),而 MonoTouch/MonoDevelop 中的链接器步骤未与 C++ 标准库链接,或启用 C++ 异常。我不明白为什么这只会在为模拟器构建时发生,或者为什么在我更新 MonoTouch 和 iOS SDK 之前没有发生。
有人知道如何解决这个问题吗?
我尝试将 -fexceptions 和 -lstdc++ 添加到我的 -gcc_flags 中,但根本没有帮助。
【问题讨论】:
标签: xamarin.ios