java - 适用于 Android 的 OpenCV : Illegal Forward Reference

标签 java android opencv forward-reference

我正在使用 OpenCV对于我的项目,一切正常,除了 DescriptorExtractor.java .它每天都给我以下错误:

/opencv/src/org/opencv/features2d/DescriptorExtractor.java
Error:(26, 29) error: illegal forward reference
Error:(27, 29) error: illegal forward reference
Error:(28, 28) error: illegal forward reference
Error:(29, 30) error: illegal forward reference
Error:(30, 30) error: illegal forward reference
Error:(31, 30) error: illegal forward reference
Error:(32, 30) error: illegal forward reference

该文件最初如下所示:
public class DescriptorExtractor {

    public static final int
            SIFT = 1,
            SURF = 2,
            ORB = 3,
            BRIEF = 4,
            BRISK = 5,
            FREAK = 6,
            AKAZE = 7,
            OPPONENT_SIFT = OPPONENTEXTRACTOR + SIFT,
            OPPONENT_SURF = OPPONENTEXTRACTOR + SURF,
            OPPONENT_ORB = OPPONENTEXTRACTOR + ORB,
            OPPONENT_BRIEF = OPPONENTEXTRACTOR + BRIEF,
            OPPONENT_BRISK = OPPONENTEXTRACTOR + BRISK,
            OPPONENT_FREAK = OPPONENTEXTRACTOR + FREAK,
            OPPONENT_AKAZE = OPPONENTEXTRACTOR + AKAZE;
    private static final int
            OPPONENTEXTRACTOR = 1000;
    protected final long nativeObj;

每天我都在移动OPPONENTEXTRACTOR的声明名列前茅,问题就消失了。但是第二天类(class)又恢复到原来的样子。在类的顶部有一个评论
//
// This file is auto-generated. Please don't modify it!
//

我应该怎么办?我该如何防止这种情况?

更新:

我正在为 Android 3.0 和 Java 7.80 使用 OpenCV

最佳答案

您的申报顺序错误。它应该是这样的:

private static final int OPPONENTEXTRACTOR = 1000;

public static final int
        SIFT = 1,
        SURF = 2,
        ORB = 3,
        BRIEF = 4,
        BRISK = 5,
        FREAK = 6,
        AKAZE = 7,
        OPPONENT_SIFT = OPPONENTEXTRACTOR + SIFT,
        OPPONENT_SURF = OPPONENTEXTRACTOR + SURF,
        OPPONENT_ORB = OPPONENTEXTRACTOR + ORB,
        OPPONENT_BRIEF = OPPONENTEXTRACTOR + BRIEF,
        OPPONENT_BRISK = OPPONENTEXTRACTOR + BRISK,
        OPPONENT_FREAK = OPPONENTEXTRACTOR + FREAK,
        OPPONENT_AKAZE = OPPONENTEXTRACTOR + AKAZE;

关于java - 适用于 Android 的 OpenCV : Illegal Forward Reference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33050672/

相关文章:

python - 找到 map 中每个像素的最近邻居

c++ - OpenCV 教程 : Load and Display an Image (codeblocks, fedora20)

c# - 我如何使用 opencv 在 c#.net 中进行对象检测?

java - 将数据传递到 OSGI 包

java - 当我将 IntentService 与 ResultReceiver 一起使用时,当我的 Activity 被销毁时会发生什么

android - 从 RecyclerView.ViewHolder 调用 notificationItemChanged(intposition) 或等效方法

android - 不同大小的选项卡与 TabLayout android

android - 如何在 Jetpack Compose 中从可组合导航到 Activity 或 fragment ?

java - 如何配置 JPA 以在 Maven 中进行测试

java - Spring 依赖注入(inject)与实用程序的静态类?