Hi Rastos. Thanks for your reply. > Do you #include "jni.h" in mary.c ? Yes, I have an include of <jni.h> > What I've seen used in some projects is using dynamic > loading with > typedef int (*t_JNI_CreateJavaVM) (JavaVM**, void**, JavaVMInitArgs*); > ... > t_JNI_CreateJavaVM *p=(t_JNI_CreateJavaVM) > GetProcAddress(LoadLibrary(jvm_dll_path),"JNI_CreateJavaVM"); Thanks! That worked, after doing the equivalent of changing "*p" to "p". Unfortunately it wouldn't allow me to just specify "jvm.dll" and fetch that from the path. So I'll need to construct the location at runtime from a JAVA_HOME environment variable. Better than being totally stuck. :-) BFN. Paul.