Pila desequilibrada!
He escrito un dll VC ++. La declaración de uno de los métodos en el dll es la siguiente:
extern "C" _declspec(dllexport)
void startIt(int number)
{
capture = cvCaptureFromCAM(number);
}
Yo uso este dll en un código C # usando P / Invoke. Hago la declaración como:
[DllImport("Tracking.dll", EntryPoint = "startIt")]
public extern static void startIt(int number);
y llamo a la función en el código como:
startIt(0);
Ahora, cuando se encuentra esta línea, el compilador me está arrojando este error:
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.
No puedo entender por qué arroja este error, ya que la firma en el código administrado y no administrado es la misma. Además, en mi otra máquina, el mismo código se ejecuta perfectamente en Visual Studio. Entonces, esto me hace pensar que el error arrojado es erróneo.
Por favor ayuda.
Gracias