在 android ndk 中的同一.cpp文件上调用另一个 C++ 函数

Call another C++ function on the same .cpp file in android ndk

本文关键字:文件 调用 另一个 函数 C++ cpp ndk android      更新时间:2023-10-16

提前感谢。我有一个Android ndk c++文件名native-lib.cpp就像

    extern "C"
    JNIEXPORT jstring
    JNICALL
    Java_foo_foo_foo_foo_HomeActivity_temp( JNIEnv *env, jobject  ){
        std::string password = getTempString();
        return  env->NewStringUTF( password.c_str() ); 
    }
    std::string getTempString(){
        return "temp_string";
    }

但它在调用未声明的函数 getTempString(( 时显示错误;请帮忙。

在首次使用之前,您需要声明getTempString。一种方法是使用原型

// prototype
std::string getTempString();
extern "C"
JNIEXPORT jstring
JNICALL
Java_foo_foo_foo_foo_HomeActivity_temp( JNIEnv *env, jobject  ){
    std::string password = getTempString();
    return  env->NewStringUTF( password.c_str() ); 
}
std::string getTempString(){
    return "temp_string";
}