如何使用Microsoft Visual C++编写调用JNI的代码

10

屏幕截图

如何在微软Visual C++ 2010 Express中编写C代码?我无法做到这一点。我正在编写一些C代码,但是它编译时出现错误。

请建议一些方法来解决这个问题?

我写了这段代码:

#include "jni.h"
#include "stdio.h"
#include "HelloWorld.h"

JNIEXPORT void JNICALL
Java_HelloWorld_print(JNIEnv *env, jobject obj) {
    printf("This is a JNI tester");
    return;
}

我遇到了以下错误:

2
天啊,简单的复制粘贴代码和错误信息比截图要好。 - Fredrik Pihl
可以实现,只需将jni.h和helloworld.h的路径添加到项目属性中的包含路径中。 - Aaaaaaaa
2
如果你正在进行Java开发,你应该安装JDK。jni.h作为JDK的一部分被包含在<JDK Dir>\include<JDK Dir>\include\win32下。将这些目录添加到项目属性中的“附加包含目录”下的“C/C++”中。 - Mashmagar
5
不明白为什么这个被踩了。这不是一个问答网站吗? - user2074102
1个回答

20
我从未编写过JNI特定代码,但是您的错误提示表明它无法找到文件"jni.h"。您可能需要将该文件放入您的解决方案文件夹中,或者在项目选项中的C/C++选项中指定JNI头文件所在的文件夹。我建议采用后一种方法,即将文件夹添加到项目的包含选项中。
具体步骤如下:
1. 打开项目属性 2. 导航到“配置属性->C/C++”,然后查看第一条“附加包含目录”条目 3. 在其中输入路径:"JDKVersionPath\include";"JDKVersionPath\include\win32"
其中,JDKVersionPath是您的JDK安装位置,例如"C:\Program Files\Java\jdk1.6.0\" (路径版本可能因您安装的JDK版本而异)。

啊,我明白了,当我编辑时,它吞掉了我的标记位...抱歉,我会编辑回复的(里面有JDK的部分,标记决定要删除)。 - Maverik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接