2010-08-11 3 views
4

Я реализующий простой пример JNI, как указано вНевозможно открыть включаемый файл «jni.h», Нет такого файла или каталога не существует

http://java.sun.com/docs/books/jni/html/start.html

На втором последнем этапе, когда источник С компилируется,

следующая команда используется ---

C: \ Program Files \ Java \ jdk1.6.0_21> сл -IC: \ Program Files \ Java \ jdk1.6.0_21 \ включают -IC : \ Program Files \ Java \ jdl1.6.0_21 \ include \ win32 -MD -LD Callbacks.c -FeCallbacks.dll

Я получаю следующее сообщение об ошибке ---

«Не удается открыть файл включать„jni.h“, Нет такого файла или каталога не существует.»

Но jni.h существует в папке java/jdk1.6.0_21/include.

Как удалить эту ошибку?

ответ

3

Поскольку путь содержит пробелы u, необходимо заключить путь внутри «» как cl -IC: \ Program Files \ Java \ jdk1.6.0_21 \ includ e -I "C: \ Program Files \ Java \ jdl1. 6.0_21 \ include \ win32 "-MD -LD Callbacks.c -FeCallb acks.dll

+0

Спасибо, это сработало как шарм .. – dapper

0

Если путь содержит пробелы, вам необходимо указать путь. В моем случае команда такова:

cl -I"C:\Program Files\Java\jdk1.8.0_91\include" -I"C:\Program Files\Java\jdk1.8.0_91\include\win32" -LD HelloWorldImp.c -Fehello.dll 

Надеюсь, что это поможет.