मैंने एक वीसी ++ डीएल लिखा है।असंतुलित ढेर!
extern "C" _declspec(dllexport)
void startIt(int number)
{
capture = cvCaptureFromCAM(number);
}
मैं पी का उपयोग कर/आह्वान एक सी # कोड में इस dll का उपयोग करें: dll में तरीकों में से एक के लिए घोषणा इस प्रकार है। मैं के रूप में घोषणा करते हैं:
[DllImport("Tracking.dll", EntryPoint = "startIt")]
public extern static void startIt(int number);
और मैं के रूप में कोड में फ़ंक्शन को कॉल करें:
A call to PInvoke function 'UsingTracking!UsingTracking.Form1::startIt' has
unbalanced the stack. This is likely because the managed PInvoke signature does
not match the unmanaged target signature. Check that the calling convention
and parameters of the PInvoke signature match the target unmanaged signature.
:
startIt(0);
अब, जब इस लाइन का सामना करना पड़ा है, संकलक मुझे इस त्रुटि फेंक रहा है
मुझे समझ में नहीं आ रहा है कि यह इस त्रुटि को क्यों फेंक रहा है क्योंकि दोनों प्रबंधित और अप्रबंधित कोड में हस्ताक्षर समान हैं। इसके अलावा, मेरी दूसरी मशीन में, वही कोड दृश्य स्टूडियो में पूरी तरह से चल रहा है। इसलिए, यह मुझे लगता है कि फेंक दिया त्रुटि गलत है।
कृपया मदद करें।
धन्यवाद
अपने मशीनों 86 में से एक और अन्य 64 है: स्टीफन Cleary इस पोस्ट पर इस पहचान करने के लिए श्रेय? –
नहीं, दोनों x86 हैं। बस वह Win7 और अन्य XP – Jayesh