Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法解析Eclipse-方法NewStringUTF()_Android_Opencv - Fatal编程技术网

Android 无法解析Eclipse-方法NewStringUTF()

Android 无法解析Eclipse-方法NewStringUTF(),android,opencv,Android,Opencv,我正在编写一个简单的OpenCV代码,用于在执行sobel操作后显示图像。我已经包含了项目属性的所有必要路径,以便包含OpenCV4Android文件夹。我解决了除一个错误以外的所有错误: 错误:无法解析方法NewStringUTF() 我在项目路径中包括了我还包括了AndroidNDK文件夹。我的日食是高度不可预测的。早些时候,当我在Android上开发其他应用程序时,它工作得很好。eclipse依赖于机器吗?我可以做什么来修复此错误 我有这个问题。基于我的“解决方案”,在Eclipse中似乎

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

错误:
无法解析方法NewStringUTF()


我在项目路径中包括了
我还包括了AndroidNDK文件夹。我的日食是高度不可预测的。早些时候,当我在Android上开发其他应用程序时,它工作得很好。eclipse依赖于机器吗?我可以做什么来修复此错误

我有这个问题。基于我的“解决方案”,在Eclipse中似乎发生了一些有趣的事情,因为我打开了另一个项目(据我所知),除了被标记为库项目之外,还有一些确切的属性、路径等

只要观察jhi.h中相应的结构,回调原型都在那里!Ctrl单击include语句,Eclipse甚至会将引用链接到您

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


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

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

我也犯了同样的错误

只要切换到正确的语法,问题就会解决 C语法

return (*env)->NewStringUTF(env, "Hello from JNI !");
return (env)->NewStringUTF("Hello from JNI !");
C++语法

return (*env)->NewStringUTF(env, "Hello from JNI !");
return (env)->NewStringUTF("Hello from JNI !");

从C转换为C++语法后,我的问题得到了解决。

  • 步骤1:项目属性->C/C++常规->路径和符号

  • 步骤2:选择“包含”选项卡,添加->$ANDROID\u NDK\u HOME/platforms/ANDROID-19/arch/usr/include(您自己的路径),然后选中“所有语言”

  • 步骤3:应用->确定

  • 就这样。我的解决方案

    JNIEXPORT jstring JNICALL Java_com_example_faceextractiontest_Makeover_hello(JNIEnv* env, jobject obj){
    const char* c = "hello how are you i am ahmad raza";
    jstring s = env->NewStringUTF(c);
    
    return s;
    }
    

    这对我来说很有效

    或者我们可以将其类型设置为“警告”,以便能够在了解问题的同时进行编译我必须说它只隐藏了问题。但就目前而言,android的gcc显然还不成熟。