Я занимаюсь разработкой Java-проекта с использованием JNI с использованием IntelliJ Idea и Gradle 5.1.1.
Я пытаюсь добавить весь набор инструментов в плагин cpp
и не могу добавить несколько каталогов включения в путь.
Ниже приведен файл build.gradle
.Вы можете видеть, что строка с cppCompiler.args
, которая должна добавить файл jni.h
в путь включения.
При попытке добавить другие библиотеки, например, с файлом jni_md.h
(см. Комментарий), я получаю сообщение об ошибке, чтодаже файл jni.h
не был найден.
Итак, как правильно добавить внешние включаемые файлы в цепочку инструментов CPP Gradle?
Файл Gradle:
plugins {
id 'java'
id 'idea'
id 'cpp'
}
group 'com.example.sample-jni'
version '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
compileJava {
options.compilerArgs += ["-h", file("src/nativeEllipses/headers")]
options.verbose = true
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
}
model {
components {
nativeEllipses(NativeLibrarySpec) {}
}
binaries {
withType(SharedLibraryBinarySpec) {
if (toolChain in VisualCpp) {
cppCompiler.define "DLL_EXPORT"
cppCompiler.args "/IC:\\Program Files\\Java\\jdk-11.0.2\\include"
// cppCompiler.args "/I\"C:\\Program Files\\Java\\jdk-11.0.2\\include\""
// cppCompiler.args "/I\"C:\\Program Files\\Java\\jdk-11.0.2\\include\\win32\" /I\"C:\\Program Files\\Java\\jdk-11.0.2\\include\""
}
}
}
}
И я получаю ошибку:
C: \ Program Files \ Java \ jdk-11.0.2 \ include \ jni.h (45): фатальная ошибка C1083: Невозможно открыть файл включения: 'jni_md.h ': Нет такого файла или каталога