我正在使用IntelliJ Idea和Gradle 5.1.1。使用JNI开发Java项目。
我正在尝试将整个工具链添加到cpp
插件中,并且无法在路径中添加几个包含目录。
下面是build.gradle
文件。 Tou可以看到带有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':没有此类文件或目录