I have a project I haven't touched in a while. I went to update it for iOS7 today, and it wont build. Further investigation indicates it's a problem with my binding for CocoaLibSpotify. The binding project itself builds ok, but when I try to use it in my main app project, I get linking errors like below:
Undefined symbols for architecture armv7:
"std::terminate()", referenced from:
l578 in libCocoaLibSpotify.a(libspotify.o)
l609 in libCocoaLibSpotify.a(libspotify.o)
l752 in libCocoaLibSpotify.a(libspotify.o)
l757 in libCocoaLibSpotify.a(libspotify.o)
l761 in libCocoaLibSpotify.a(libspotify.o)
l765 in libCocoaLibSpotify.a(libspotify.o)
l815 in libCocoaLibSpotify.a(libspotify.o)
...
"operator delete[](void*)", referenced from:
l652 in libCocoaLibSpotify.a(libspotify.o)
...
"operator delete(void*)", referenced from:
l633 in libCocoaLibSpotify.a(libspotify.o)
l642 in libCocoaLibSpotify.a(libspotify.o)
l652 in libCocoaLibSpotify.a(libspotify.o)
etc...
I've googled this, and most results suggest I ensure I set IsCxx=True
in my bindings. This is already the case.
My linkwith.cs file:
[assembly: LinkWith ("libCocoaLibSpotify.a", LinkTarget.ArmV7 | LinkTarget.ArmV7s, ForceLoad = true, IsCxx=true, Frameworks = "QuartzCore CoreGraphics SystemConfiguration CFNetwork CoreAudio AudioToolbox AVFoundation Security")]
(I added in the LinkTarget.ArmV7s , but it hasn't made any difference).
This was all working about 3 months ago, so something in a recent MonoTouch release has caused this problem to surface. Any ideas?!