si francesco e sono cavoli amari... cerco di spiegarmi meglio... esempio stupido:

1 file.cpp che contiene l implementazione delle classi contenute nel relativo file.h

2 creo un file C che include x esempio il "file.h" ma

1: per richiamare un metodo da JNI devo campiare l intestazione

filenuovo.cpp

#include "file.h"
#include "filenuovo.h" //che sarebbe l header di java

JNIEXPORT void JNICALL main(JNIEnv *env, jclass obj)
{
//che deve fa?
}
l implementazione è tt nel "file.cpp" ma i file inclusi in file.h non hanno le intestazioni cambiate.

file.cpp

CComAdapter::~CComAdapter(){closeDevice();}

per semplicità facciamo che contenga solo il distruttore.
CComAdapter è la classe dichiarata in file.h