On 23.01.2013 20:32, tomason wrote:
However, when I run that, I get an EntryPointNotFound exception. I put an
extern "C" block around my native_RegisterObject, but that didn't help.
In C#, this is how I declare the native function:
private delegate float AddDelegate(float a, float b);
[DllImport("__Internal", EntryPoint="native_registerObject")]
private static extern void native_registerObject(MainClass instance,
AddDelegate add);
And then I call that as above.
Can I use internal calls for registering a delegate? If not, how do I
expose my native functions such that the runtime can find them in the image
that's running?
Yes, 'extern "C"' is a must. You may need to add
-Wl,--export-dynamic
to your cflags when compiling the main program. This will instruct
the linker to export all public symbols as if the program where
a library.
Robert
_______________________________________________
Mono-list maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list