'variable JNIEXPORT is not type name'

'variable JNIEXPORT is not type name'

我不知道为什么在 JNIEXPORT 和 JNICALL 上给我错误...

信息: Visual studio 2017 年,Windows

JAVA_HOME 已设置。

在'C/C++ > General > Additional Include Directories'

中添加了目录

包含目录 > C:\Program Files\Java\jdk1.8.0_251\include

我尝试添加 jvm.lib 但没有成功。

错误: JNIERROR - 'variable JNIEXPORT is not type name' JNICALL - 'Expected ;'

代码:

#include <iostream>
#include <jvmti.h>
#include <jni.h>


JNIEXPORT jint JNICALL Agent_OnLoad(JavaVM *vm, char *options, void *reserved) {

}

当您包含“jni.h”以在 C 或 C++ 中编译 JNI 代码时,您必须将 JDK 的“include”目录添加到您的包含路径和平台所在的目录依赖包含文件(由“jni.h”引用)是。在 Windows 上是“include\win32”,在 Linux 上是“include/linux”,在 macOS 上是“include/darwin”。如果没有找到包含文件,编译器通常会输出一条消息,因此请注意所有消息,而不仅仅是最后一条。