0

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

MOCS=moc_file1.cpp moc_file2.cpp

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

4

1 回答 1

1

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

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

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

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

请注意使用 {} 大括号括住前缀。

类似地,一个 NMAKE 推理批处理规则(一次处理多个源文件):

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

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

于 2013-07-25T17:59:35.943 回答