Dovrei creare una DLL con cl.exe. I file da includere sono i seguenti:

NativeDemo.h

codice:
/* DO NOT EDIT THIS FILE - it is machine generated */ 
#include <jni.h> 
/* Header for class NativeDemo */ 
 
#ifndef _Included_NativeDemo 
#define _Included_NativeDemo 
#ifdef _ _cplusplus 
extern "C" { 
#endif 
/* 
 * Class:     NativeDemo 
 * Method:    test 
 * Signature: ()V 
 */ 
JNIEXPORT void JNICALL Java_NativeDemo_test 
   (JNIEnv *, jobject); 
 
#ifdef _ _cplusplus 
} 
#endif 
#endif
NativeDemo.c

codice:
/* This file contains the C version of the 
   test() method. 
*/ 
 
#include <jni.h> 
#include "NativeDemo.h" 
#include <stdio.h> 
 
JNIEXPORT void JNICALL Java_NativeDemo_test(JNIEnv *env, jobject obj) 
{ 
  jclass cls; 
  jfieldID fid; 
  jint i; 
 
  printf("Starting the native method.\n"); 
  cls = (*env)->GetObjectClass(env, obj); 
  fid = (*env)->GetFieldID(env, cls, "i", "I"); 
 
  if(fid == 0) { 
    printf("Could not get field id.\n"); 
    return; 
  } 
 
  i = (*env)->GetIntField(env, obj, fid); 
  printf("i = %d\n", i); 
  (*env)->SetIntField(env, obj, fid, 2*i); 
  printf("Ending the native method.\n"); 
}
e la riga di codice che non funziona è la seguente:

codice:
Cl /LD NativeDemo.c
qui sotto trovate l'errore:

codice:
Microsoft (R) C/C++ Optimizing Compiler versione 17.00.50727.1 per x64
Copyright (C) Microsoft Corporation. Tutti i diritti riservati.

NativeDemo.c
NativeDemo.c(5) : fatal error C1034: jni.h: nessun percorso impostato per i file di inclusione
Su questo forum mi sono state consigliate altre soluzioni come:

codice:
Cl /LD /I C:\glassfish3\jdk7\include\ NativeDemo.c
ma comunque inefficaci. Credo che mi resti da capire come specificare in maniera corretta il percorso verso jni.h e jni_md.h.