Gradle C插件:如何解决多个模块之间的引用
我有一个c语言程序,其结构如下:Gradle C插件:如何解决多个模块之间的引用,c,gradle,C,Gradle,我有一个c语言程序,其结构如下: src/main/c/main.c src/main/headers/main.h src/module_1/c/module_1.h src/module_1/headers/module_1.h ... src/modulen/c/module_n.c src/module/headers/module_n.h 在gradle脚本中,我定义了: components { module_1(NativeLibrarySpec) ... mo
src/main/c/main.c
src/main/headers/main.h
src/module_1/c/module_1.h
src/module_1/headers/module_1.h
...
src/modulen/c/module_n.c
src/module/headers/module_n.h
在gradle脚本中,我定义了:
components {
module_1(NativeLibrarySpec)
...
module_n(NativeLibrarySpec)
main(NativeExecutableSpec){
sources{
c.lib library: "module_1", linkage: "static"
...
c.lib library: "module_n", linkage: "static"
}
使用此结构的原因是为了方便分别为每个模块创建单元测试
问题在于将模块中的.h文件包含在主模块或其他模块中(它们之间存在一些依赖关系)。我还没有找到一种方法使一个模块的头对其他模块可用。实际上,我希望将它们全部“全局”添加到项目中(即,自动添加到任何模块的源代码集中)
提前谢谢我不认识格雷德尔,但可能会给你一些一般性的建议 我还没有找到一种方法使一个模块的头对其他模块可用 您可以为项目的所有
.h
文件创建一个中心目录(存储库),例如src/include
。每个模块的头文件都可以放在那里(在当前基线的版本中)
实际上,我希望将它们全部“全局”添加到项目中(即,自动添加到任何模块的源代码集中)
上面的存储库可以支持这一点。但是,在源文件中包含头是一项手动任务。不要将所有头文件都包含到源文件中也是明智的;它可能只需要几个