'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”。如果没有找到包含文件,编译器通常会输出一条消息,因此请注意所有消息,而不仅仅是最后一条。
我不知道为什么在 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”。如果没有找到包含文件,编译器通常会输出一条消息,因此请注意所有消息,而不仅仅是最后一条。