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

Respuestas a la pregunta(0)

Su respuesta a la pregunta