Я пытаюсь построить очень простую встроенную функцию с помощью ndk-build и получаю следующую ошибку.
DriverAdapter.cpp:6:69: error: expected ',' or '...' before 'this'
Ниже приведены мои .mk и .cpp файлы
DriverAdapter.cpp
#include <jni.h>
#include <string.h>
#include <android/log.h>
#define DEBUG_TAG "NDK_AndroidNDK1SampleActivity"
void Java_com_ihearhtpi_MainActivity_helloLog(JNIEnv * env, jobject this, jstring logThis)
{
jboolean isCopy;
const char * szLogThis = (*env)->GetStringUTFChars(env, logThis, &isCopy);
__android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "NDK:LC: [%s]", szLogThis);
(*env)->ReleaseStringUTFChars(env, logThis, szLogThis);
}
Android.mk
LOCAL_PATH: = $ (позвоните в мой каталог)
include $(call all-subdir-makefiles)
include $(CLEAR_VARS)
LOCAL_LDLIBS := -llog
LOCAL_MODULE :=driver
LOCAL_SRC_FILES :=DriverAdapter.cpp
include $(BUILD_SHARED_LIBRARY)
Не уверен, почему это происходит.
Проблема в том, что this
это ключевое слово c ++. И вы не можете использовать ключевое слово в качестве имени переменной.
Вы не можете назвать свой аргумент «это»