0

私のプロジェクトでは、C++ を使用して、JNI を使用して、NLP Natty Date Parser Library を使用する Java クラスを呼び出しています。

ライブラリを使用する前は、ライブラリ依存関係のない単純な Java クラスを使用して文字列を C++ に送信した場合、問題はありませんでした。しかし、文字列を解析するためにそれぞれのライブラリを含めると、必要な結果が得られません。Java クラスがライブラリを呼び出すことができないと思われます。

これは私がJavaで呼び出している関数の例です

import com.joestelmach.natty.*;

public static boolean isValidCommand(String command){
    List<DateGroup> sample;
    Parser parser = new Parser(TimeZone.getDefault());
    sample = parser.parse(command);
    if(sample.get(LOCATION_OF_DATE).getDates().size() > MAX_LIMIT)
        return TOO_MANY_DATES;
    return true;
}

これは、前述の Java 関数を呼び出す C++ の関数です。

bool Wrapper::isValidCommand(string command){
if(_cls != 0) {
    jmethodID mid = _env->GetStaticMethodID(_cls,"isValidCommand","(Ljava/lang/String;)Z");
    if(mid != 0){
        jboolean data = _env->CallStaticBooleanMethod(_cls,mid,_env->NewStringUTF(command.c_str()));
        return data;
    }
}
return false;
}

呼び出している Java クラスのライブラリ依存関係をリンクする方法がわかりません。誰かが助けてくれれば感謝します。前もって感謝します。

4

0 に答える 0