Я опытный Java-кодер, но я новичок в XCode и C ++, так что извините за тупой вопрос.
Я пишу некоторый код на C ++ в XCode, который должен создавать экземпляр Java VirtualМашина.В плагине Java для OS X есть метод JavaVM_GetJNIEnv () и файл заголовка в исходном коде Sun / Oracle под названием JavaVM.h со следующими строками:
// Gets the JNIEnv* associated with the Java VM, creating the JVM
// instance if necessary. Note that the implementation of this routine
// must be prepared for it to be called from more than one thread.
JNIEnv* JavaVM_GetJNIEnv();
Я добавил файл .hв мой проект XCode, но я не знаю, как сделать ссылку на двоичный файл.Я понял, как принудительно загрузить компоновщик, например:
-force_load /System/Library/Java/Support/Deploy.bundle/Contents/Resources/JavaPlugin2_NPAPI.plugin/Contents/MacOS/JavaPlugin2_NPAPI
(этот файл является символической ссылкой; реальный путь - /System/Library/Java/Support/Deploy.bundle/Contents/Resources/JavaPlugin2_NPAPI.plugin/Contents/Resources/Java/libplugin2_npapi.jnilib)
Но тогда я получаю это сообщение об ошибке:
ld: in /System/Library/Java/Support/Deploy.bundle/Contents/Resources/JavaPlugin2_NPAPI.plugin/Contents/MacOS/JavaPlugin2_NPAPI, can't link with bundle (MH_BUNDLE) only dylibs (MH_DYLIB)
collect2: ld returned 1 exit status
Итак, мой вопрос, как мне связаться скод в файле .jnilib с кодом XCode?