Почему, когда я хочу использовать строку внутри моей функции Jniexport, dll становится неисправной?
Если я закомментирую использование этой строки, как в коде ниже, все работает, и я получаю«Моя строка» от вызова этой функции в Java.
Но как только я включу эту строку в "std :: string test;"Я могу построить dll, но в Java после вызова System.loadLibrary ("jniBridge") получить сообщение
java.lang.UnsatisfiedLinkError: \ path \ to \ dll \ jniBridge.dll: динамическийОшибка инициализации библиотеки ссылок (DLL)
jniBridge.cpp:
#pragma once
#include "jni.h"
#include "jniBridge.h"
#include "string"
/*
* Class: jniBridge
* Method: instantiateAI
* Signature: ()Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_jniBridge_instantiateAI
(JNIEnv *env, jclass clazz) {
// std::string test; // fails with this line.
return env->NewStringUTF("My String");
}