我是Gradle的新手。我正在尝试编译一组源文件,这些源文件包含分布在项目目录中的标头。我的源目录结构不符合Gradle约定。如何在build.gradle中添加编译所需的头文件位置?附件是我的build.gradle
文件。
// build.gradle
apply plugin: 'c'
model {
components {
my_project (NativeExecutableSpec){
sources {
c {
source {
srcDir "my_proj_src/a/a1.1"
include "**/*.c"
}
exportedHeaders {
srcDir "my_proj_src/a/a1.1", "fsw/b/b1.2"
}
}
}
}
}
}
这是行不通的。另外,是否有可能使用Gradle进行部分链接?
编辑:另外,我还想知道如何在源层次结构中递归地进行Gradle搜索。
ExportedHeaders`用于从组件本身导出标题,而不用于添加标题。所以这行不通。
您将需要创建一个库并将其添加为,api linkage
以便将这些标头添加到针对您的组件进行编译的标头中:
model {
repositories {
libs(PrebuiltLibraries) {
ffmpegHeaders {
headers.srcDirs "$ffmpegDir/include"
}
}
}
components {
libUsingHeaders(NativeLibrarySpec) {
sources {
c {
lib library: 'ffmpegHeaders', linkage: 'api'
}
}
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句