我正在使用热来收集我的项目,但我对视觉工作室中已定义的预处理器变量之间的关系感到困惑,例如:SourceDir=$(SolutionDir)MyProject
,< HeatDirectory> Directory=var.SourceDir
和<HeatDirectory> Directory=$(SolutionDir)MyProject
哪一个定义了将要收获的源目录?对我来说,看起来VS中的预处理器变量/定义的预处理器变量会覆盖HeadDirectory中的目录变量。
这是对的吗?
答案 0 :(得分:0)
清理一件事,当你调用heat
时,你收获的目录将通过命令行参数提供给heat
。 SourceDir
是您查找收集的实际文件的路径的占位符,相对于您选择收获的目录。
由预处理程序变量或您使用light
选项指定给-b
的路径定义。
当您致电heat
时,您可以告诉它要用哪个变量替换SourceDir
,当您拨打candle
时,您将对其进行定义。
一个例子:
heat dir [options] -var var.MyProjectDir <dir to harvest>
将生成一个$(var.MyProjectDir)
代替SourceDir
致电candle
时:
candle [options] -dMyProjectDir=<my project path> <wxs files>
使用-d
选项将允许您定义预处理器变量的值,并在编译片段文件时引用它。
如果您不使用-var
和-d
选项heat
和candle
,则可以-b
使用light
和WiX将使用它来尝试使用这些路径解析文件。它本质上就像你的环境PATH变量一样,它将使用指定的所有路径来查找文件。