jni links but crashes

This commit is contained in:
Matthew Kennedy 2023-11-03 18:17:15 -07:00
parent b801c100b0
commit 473ac20933
2 changed files with 10 additions and 6 deletions

View File

@ -8,6 +8,10 @@ find_package(Java COMPONENTS Development)
set(JAVA_AWT_INCLUDE_PATH NotNeeded)
find_package(JNI REQUIRED)
if(APPLE)
set(CMAKE_OSX_ARCHITECTURES "arm64;x86_64")
endif(APPLE)
# Set OpenBLT library related directory locations
set(LIBOPENBLT_LIB ${PROJECT_SOURCE_DIR}/../../firmware/ext/openblt/Host/)
set(LIBOPENBLT_INC ${LIBOPENBLT_LIB}/Source/LibOpenBLT)
@ -26,5 +30,5 @@ add_library(openblt_jni SHARED)
target_include_directories(openblt_jni PRIVATE ${LIBOPENBLT_INC})
target_include_directories(openblt_jni PRIVATE ${JNI_INCLUDE_DIRS})
target_link_directories(openblt_jni PRIVATE ${LIBOPENBLT_LIB})
target_link_libraries(openblt_jni ${LIBOPENBLT_LIBNAME})
target_link_libraries(openblt_jni PRIVATE ${LIBOPENBLT_LIBNAME})
target_sources(openblt_jni PRIVATE openblt_jni.cpp)

View File

@ -46,7 +46,7 @@ private:
jmethodID const m_error;
};
JNIEXPORT void JNICALL com_rusefi_maintenance_OpenbltJni_loadFirmware(JNIEnv* env, jobject, jstring jFilename, jobject jCallbacks) {
extern "C" JNIEXPORT void JNICALL Java_com_rusefi_maintenance_OpenbltJni_loadFirmware(JNIEnv* env, jobject, jstring jFilename, jobject jCallbacks) {
Callbacks cb(env, jCallbacks);
const char* filename = env->GetStringUTFChars(jFilename, 0);
@ -71,7 +71,7 @@ static tBltSessionSettingsXcpV10 xcpSettings;
static tBltTransportSettingsXcpV10Rs232 transportSettings;
static char s_portName[256];
JNIEXPORT void JNICALL com_rusefi_maintenance_OpenbltJni_sessionStart(JNIEnv* env, jobject, jstring jSerialPort, jobject jCallbacks) {
extern "C" JNIEXPORT void JNICALL Java_com_rusefi_maintenance_OpenbltJni_sessionStart(JNIEnv* env, jobject, jstring jSerialPort, jobject jCallbacks) {
Callbacks cb(env, jCallbacks);
xcpSettings.timeoutT1 = 1000;
@ -97,7 +97,7 @@ JNIEXPORT void JNICALL com_rusefi_maintenance_OpenbltJni_sessionStart(JNIEnv* en
}
}
JNIEXPORT void JNICALL com_rusefi_maintenance_OpenbltJni_erase(JNIEnv* env, jobject, jobject jCallbacks) {
extern "C" JNIEXPORT void JNICALL Java_com_rusefi_maintenance_OpenbltJni_erase(JNIEnv* env, jobject, jobject jCallbacks) {
Callbacks cb(env, jCallbacks);
int result = 0;
@ -161,7 +161,7 @@ JNIEXPORT void JNICALL com_rusefi_maintenance_OpenbltJni_erase(JNIEnv* env, jobj
}
}
JNIEXPORT void JNICALL com_rusefi_maintenance_OpenbltJni_program(JNIEnv* env, jobject, jobject jCallbacks) {
extern "C" JNIEXPORT void JNICALL Java_com_rusefi_maintenance_OpenbltJni_program(JNIEnv* env, jobject, jobject jCallbacks) {
Callbacks cb(env, jCallbacks);
uint32_t segmentIdx;
@ -223,7 +223,7 @@ JNIEXPORT void JNICALL com_rusefi_maintenance_OpenbltJni_program(JNIEnv* env, jo
}
}
JNIEXPORT void JNICALL com_rusefi_maintenance_OpenbltJni_stop(JNIEnv*, jobject, jobject jCallbacks) {
extern "C" JNIEXPORT void JNICALL Java_com_rusefi_maintenance_OpenbltJni_stop(JNIEnv*, jobject, jobject jCallbacks) {
BltSessionStop();
BltSessionTerminate();
BltFirmwareTerminate();