Gradle和Visual Studio:添加包含目录的正确方法

时间:2019-02-03 14:16:10

标签: c++ visual-studio gradle java-native-interface

我正在使用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':没有此类文件或目录

0 个答案:

没有答案