के साथ त्रुटि मैं GPUImage प्रोजेक्ट के लिए बाइंडिंग बनाने की कोशिश कर रहा हूं, लेकिन बाध्य वर्गों में से कोई भी काम नहीं कर रहा है। उदाहरण के लिए, GPUImageView:"मूल वर्ग लोड नहीं हो रहा है" मेरी बाइंडिंग
ObjC में यह इस तरह की घोषणा की है (header in git):
@interface GPUImageView : UIView <GPUImageInput>
//then some fields, properties and methods I'm not interested in
तो, मेरी ApiDefinition.cs इस तरह दिखता है:
namespace GPUImage
{
[BaseType (typeof(NSObject))]
[Model]
interface GPUImageInput {
}
[BaseType (typeof(UIView))]
interface GPUImageView : GPUImageInput {
[Export ("initWithFrame:")]
IntPtr Constructor(RectangleF frame);
}
}
LinkWithAttributes:
[assembly: LinkWith ("libGPUImage.a", LinkTarget.Simulator | LinkTarget.ArmV7 | LinkTarget.ArmV7s, ForceLoad = true, Frameworks = "CoreMedia CoreVideo OpenGLES QuartzCore AVFoundation UIKit Foundation")]
यह ठीक बनाता है और डीएल बनाता है। लेकिन इस तरह अपने प्रोजेक्ट में इसका इस्तेमाल करने की है जब मैं कोशिश:
var iv = new GPUImageView (new RectangleF (0, 0, 100, 100));
अपवाद throwed:
प्रकार का एक देशी उदाहरण नहीं बना सका 'GPUImage.GPUImageView': देशी वर्ग नहीं है लोड किया गया है। कक्षा को सेट करके इस स्थिति को अनदेखा करना संभव है। झूठ बोलने के लिए विफल करें।
MonoTouch.ObjCRuntime.Class.ThrowOnInitFailure == false
iv
के बाद बनाया गया था, लेकिन व्यर्थ (जैसे AddSubview(iv)
शो कुछ भी नहीं)।
मुझे लगता है कि GPUImage.a फ़ाइल में कुछ गड़बड़ है, लेकिन मुझे नहीं पता कि इसे किसी भी तरह से कैसे परीक्षण किया जाए।
Here is 7z इसमें 2 परियोजनाओं के साथ: कोशिश करने की बाइंडिंग - बाइंडिंग स्वयं; GPUImage कोशिश कर रहा है - उपयोग में बाइंडिंग;
अग्रिम धन्यवाद।
पीएस
1) LinkWith विशेषता के साथ फ़ाइल (libGPUImage.linkwith.cs) संकलित नहीं है: Here is the link to this post on xamarin forums.
आप उद्देश्य-सी पुस्तकालय के लिए हेडर फाइल साझा कर सकते हैं? मैं उन्हें आपकी 7z फ़ाइल में नहीं देखता हूं। – jonathanpeppers
@ जोनाथनपेपर्स, https: // github।कॉम/ब्रैडलार्सन/जीपीयू इमेज/ब्लॉब/मास्टर/फ्रेमवर्क/सोर्स/जीपीयूआईमेज व्यूएच – folex
क्या खाली कन्स्ट्रक्टर आपके लिए काम करता है? मुझे यहां कोई 'init' विधियां नहीं दिखाई दे रही हैं। – jonathanpeppers