Eclipse - 无法解析方法NewStringUTF()

use*_*269 9 android opencv

我正在研究一个简单的OpenCV代码,以便在进行sobel操作后显示图像.我已经包含了项目属性的所有必要路径以包含该OpenCV4Android文件夹.我解决了除一个之外的所有错误:

错误: Method NewStringUTF() could not be resolved

我包含了<jni.h>我还在项目路径中包含了AndroidNDK文件夹.我的Eclipse非常难以预料.早些时候,当我在Android上开发其他应用程序时,它运行良好.eclipse机器依赖吗?我该怎么做才能解决这个错误?

Del*_*019 24

您可能正在使用文件中的C语法CPP

我有同样的错误

只需切换到正确的语法,问题将解决 C语法

return (*env)->NewStringUTF(env, "Hello from JNI !");
Run Code Online (Sandbox Code Playgroud)

C++语法

return (env)->NewStringUTF("Hello from JNI !");
Run Code Online (Sandbox Code Playgroud)

从C切换到C++语法后,我的问题得到了解决.


Joh*_*n E 13

我有这个问题.根据我的"解决方案",它似乎在Eclipse中发生了一些有趣的事情,因为我有另一个项目打开(据我所知)确切的一些属性,路径等,除了标记为图书馆计划.

只需通过观察jhi.h中的相应结构,回调原型就在那里!按住Ctrl键并单击include语句,Eclipse甚至会链接您的引用!

转到项目的属性 - > C/C++常规 - >代码分析.单击"使用项目设置"单选按钮(或"配置工作区设置..."按钮).禁用(取消选中)"方法无法解析"复选框.单击"应用","确定".然后为您的项目,刷新,清理,刷新,构建.

在创建新项目时,我必须做出不同的事情.或者可能是因为项目的位置,或者之前是图书馆的事实.也许这真的是一个Eclipse bug?作为参考,我使用ADT v21.1.0-569685和NDK r8e for Windows.