1

Я пытаюсь заставить VTK компилироваться на компьютере Mac Air. Я использую CMake 2.8-9, используя Xcode4 в качестве генератора. Если я нажму кнопку «Настроить», когда VTK_WRAP_JAVA не будет проверено, она будет работать без ошибок. Однако мне определенно нужно использовать java-оболочку, поскольку моя основная программа на Java, и мне нужно перейти на VTK, который является c++.

Как только я проверяю оболочку Java, я получаю НЕ МОЖЕТ найти JNI. Он, очевидно, ищет jni.h, который в Linux не находит проблем, но в Mac он не может его найти.

Я нашел jni.h и получил

new-host-2:~ geraldkolodny$ locate jni.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers/jni.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers/jni.h
/Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/include/jni.h

Я пытался вручную вставить в JAVA_INCLUDE_PATH2 запись 2 или 3 (без jni.h в конце), но он все еще не может найти jni.h.

В Xcode раньше был шаблон для jni, но теперь его нет в последней версии. Я свежа из идей о том, как решить эту проблему. Буду благодарен за любые предложения.

1 ответ1

1

Я пытаюсь использовать SWIG для создания интерфейса Java к числовому алгоритму C++, который я разработал. Я смог успешно сделать это в работе (на блейд-сервере Linux), но у меня возникла проблема с выполнением этого на моем Mac дома, потому что, когда я запускал свой небольшой скрипт сборки для компиляции класса-оболочки SWIG, я также получал жалобу на неспособность найти jni.h.

После поиска страниц документации и поддержки Apple, я смог найти jni.h в моей системе здесь:

/System/Library/Frameworks/JavaVM.framework/Headers/jni.h

(это также может быть результатом ранее установленных средств Java-разработки и среды выполнения)

когда я добавил этот путь включения в мой скрипт сборки:

g++  -fpic -I. -I/System/Library/Frameworks/JavaVM.framework/Headers -c *cpp

эта жалоба об ошибке ушла. Не совсем та же проблема разработки, но, возможно, если вы укажете это местоположение на jni.h, ваша ошибка сборки также может исчезнуть.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .