我正在使用JNI處理當前項目,並且在編譯期間從我的C++代碼中得到一個奇怪的錯誤。我得到一個錯誤,指出:
C++重載函數錯誤
錯誤:重載用這是從下面的陣列中的「nativegetsupportedciphersuites」線,這是映射Java功能與它們的C未來沒有上下文類型的信息
功能++同行。我已經刪除了其他陣列成員,以便於閱讀。
static JNINativeMethod sSocketImplMethods[] =
{
...
{"nativegetsupportedciphersuites", "()[Ljava/lang/String;", (void*)&Java_mypackage_SocketImpl_nativegetsupportedciphersuites},
...
};
我認爲它必須是類型聲明的錯誤,但真的沒有線索。類型聲明是由javah函數生成的,所以我認爲它是正確的。上述方法的功能簽名如下所示:
JNIEXPORT jobjectArray JNICALL Java_mypackage_nativegetsupportedciphersuites(JNIEnv* env, jobject object)
任何想法?
Chris
謝謝JSBangs!我在頭文件聲明中略有差異。 – Chrisc 2010-08-02 16:01:35