我正在成功使用nmake推理规则进行文件扩展 - 但是添加文件前缀呢?我正在做qt的东西,所以给出了一个文件列表,例如
MOCS = moc_file1.cpp moc_file2.cpp
我想找一个推理规则来获取.h文件名作为moc.exe的输入并创建.cpp文件。
答案 0 :(得分:1)
NMAKE推理规则允许为规则中引用的扩展指定前缀。 E.g:
{$(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。