2017-04-06 24 views
0

我已經具有以下結構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) 
    ... 
    module_n(NativeLibrarySpec) 
    main(NativeExecutableSpec){ 
     sources{ 
     c.lib library: "module_1", linkage: "static" 
     ... 
     c.lib library: "module_n", linkage: "static" 
    } 

的原因使用這種結構便於分別爲每個模塊創建單元測試。

問題出現在主模塊或其他模塊中的模塊中包含.h文件(它們之間存在一些相關性)。我還沒有找到一種方法使模塊的標題可用於其他模塊。我實際上希望將它們全部「全局」到項目中(即自動添加到任何模塊的源代碼集)。

在此先感謝

回答

0

我不知道,但gradle這個可以給你一些一般性建議。

我還沒有找到一種方法使模塊的標題可用於其他模塊。

你可以讓你的項目的所有.h文件的中央目錄(資料庫),例如src/include。每個模塊的頭文件可以放在那裏(在基線的版本中)。

我實際上想讓它們對項目全部「全局」(即自動添加到任何模塊的源代碼集)。

上述存儲庫可以支持。但是,在源文件中包含頭文件是手動任務。將所有頭文件包含到源文件中也是明智的做法;它可能只需要幾個。