基本上是一个Windows问题,如果你看看oracle Java jdk附带的文件jni_md_win32.h这是宏定义:
/*
* @(#)jni_md.h 1.14 03/12/19
*
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
#ifndef _JAVASOFT_JNI_MD_H_
#define _JAVASOFT_JNI_MD_H_
#define JNIEXPORT __declspec(dllexport)
#define JNIIMPORT __declspec(dllimport)
#define JNICALL __stdcall
typedef long jint;
typedef __int64 jlong;
typedef signed char jbyte;
#endif /* !_JAVASOFT_JNI_MD_H_ */
在头文件jni_md_linux.h中,这些宏是空的.所以我想,只要您不希望在使用oracle JVM的Windows中执行本机代码,就可以删除这些宏.