2014-11-06 54 views
0

我使用熱收穫我的項目,但感到困惑在Visual Studio像定義的預處理器變量之間的關係:SourceDir=$(SolutionDir)MyProject,在< HeatDirectory> Directory=var.SourceDir<HeatDirectory> Directory=$(SolutionDir)MyProject維克斯 - heatdirectory目錄和preprocessorvariable關係

哪一個定義將要收穫的源代碼目錄?對我來說,它看起來像VS中的preprocessorvariable/defined預處理器變量正在覆蓋HeadDirectory中的目錄。

這是正確的嗎?

回答

0

要清除的一件事是,當您撥打heat時,您收穫的目錄將通過命令行參數提供給heatSourceDir是相對於您選擇收穫的目錄而言,您可以找到收穫的實際文件的路徑的佔位符。

它由預處理器變量或使用-b選項指定爲light的路徑定義。

當您撥打heat時,可以告訴它用哪個變量替換SourceDir,當您撥打candle時,您將定義它。

一個例子:

heat dir [options] -var var.MyProjectDir <dir to harvest> 

會產生.wxs文件,$(var.MyProjectDir)代替SourceDir

當你調用candle

candle [options] -dMyProjectDir=<my project path> <wxs files> 

使用-d選項將允許您定義預處理器變量的值並在編譯片段文件時引用它。

如果不使用-var-d選項heatcandle,您可以在light使用-b和維克斯將用它來嘗試解決使用這些路徑的文件。它本質上就像您的環境PATH變量,它將使用指定的所有路徑來查找文件。