如何编写代码以使用 microsoft visual c++ 调用 JNI [关闭]

Posted

技术标签:

【中文标题】如何编写代码以使用 microsoft visual c++ 调用 JNI [关闭]【英文标题】:How to write code to call JNI using microsoft visual c++ [closed] 【发布时间】:2011-05-31 08:56:38 【问题描述】:

如何在microsoft 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;

我收到以下错误:

helloworld.cpp(1): 致命错误 C1083: 无法打开包含文件: 'jni.h' 没有这样的文件或目录

【问题讨论】:

哎呀,代码的简单复制粘贴,错误比屏幕转储好 可以,只需将jni.h和helloworld.h的路径添加到项目属性的include路径中即可。 如果你在做java开发,你应该安装JDK。 jni.h 作为 JDK 的一部分包含在 <JDK Dir>\include<JDK Dir>\include\win32 下。将这些目录添加到项目属性中“C/C++”下的项目“附加包含目录”中。 不明白为什么这被否决了。这是一个问答网站吧? 【参考方案1】:

我从未编写过 JNI 特定代码,但您的错误提示它找不到文件“jni.h”。您可能需要将该文件放入解决方案文件中,或者进入项目选项并在 C/C++ 选项中指定 JNI 头文件所在的文件夹。我推荐后一种方法,即在项目的包含选项中添加文件夹。

具体步骤为:

    转到您的项目属性

    在树中导航到“Configuration Properties->C/C++”,然后查看第一个条目“Additional Include Directories”

    在里面输入路径:"*JDKVersionPath*\include";"*JDKVersionPath*\include\win32"

JDKVersionPath 是您的 JDK 安装所在的位置,例如 C:\Program Files\Java\jdk1.6.0\(路径版本可能会因您安装的版本而特别不同。

【讨论】:

啊,我看到我编辑的时候,它吃掉了我的标记位.. 对不起,我会编辑回复(那里有标记决定杀死的 JDK 位)

以上是关于如何编写代码以使用 microsoft visual c++ 调用 JNI [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft Visual Studio 更改默认主题

如何编写代码分析 (FxCop) 规则以防止方法调用

如何编写风格化但独立于操作系统的 WPF 控件。使用 Microsoft.Windows.Themes

如何更改实体框架项目以使用 Microsoft SQL Server

如何通过“ Microsoft打印为PDF”以编程方式将文件和网页打印为PDF?

连接到 Microsoft Azure 媒体服务时如何使用网络代理