nmake:添加带有推理规则的前缀?

Posted

技术标签:

【中文标题】nmake:添加带有推理规则的前缀?【英文标题】:nmake: adding a prefix with inference rules? 【发布时间】:2013-06-17 23:14:31 【问题描述】:

我成功地为文件扩展名使用了 nmake 推理规则——但是添加文件前缀呢?我正在做 qt 的东西,所以给出了一个文件列表,例如

MOCS=moc_file1.cpp moc_file2.cpp

我想找到一个推理规则来获取 .h 文件名以用作 moc.exe 的输入并创建 .cpp 文件。

【问题讨论】:

【参考方案1】:

NMAKE 推理规则允许为规则中引用的扩展指定前缀。例如:

$(SRCDIR).cpp$(INTDIR).obj :
  $(CXX) $(CXXFLAGS) /Fo$@  /c $<

此规则将针对 [推断的] 目标触发,例如:

"$(INTDIR)\somefile.obj" : "$(SRCDIR)\somefile.cpp"

注意使用 大括号括住前缀。

类似地,NMAKE 推理 batch 规则(同时适用于多个源文件):

$(SRCDIR).cpp$(INTDIR).obj ::
  $(CXX) $(CXXFLAGS) /Fo"$(INTDIR)"\  /c $<

查看官方 NMAKE 文档——它们仍然适用于 VS2012。

【讨论】:

以上是关于nmake:添加带有推理规则的前缀?的主要内容,如果未能解决你的问题,请参考以下文章