是否存在MSVC的依赖关系生成标志,如gcc的-M

时间:2010-06-07 05:41:21

标签: visual-c++ gcc dependencies

是否存在MSVC的依赖关系生成标志,如gcc的-M标志。

我曾经使用的每个C ++编译器都有这种标志。如何创建依赖项 自动使用MSVC cl编译器。

  1. 我只对最新的编译器版本感兴趣,即MSVC9或更高版本,但如果它适用于MSVC8,它也可以。
  2. 如果有内置的外部工具来执行此操作(我的意思是,不是cl),那也没关系

2 个答案:

答案 0 :(得分:5)

这个批处理脚本可能是你和我一直在寻找的,虽然我还没有测试过。

将文件传递为%1,并将路径包含为%2

@ECHO %1: \
@FOR /F "tokens=1,2,3,*" %%A IN ('cl /nologo /c %1 /Zs /showIncludes /I%2') DO @IF NOT "%%D"=="" echo %%D \

输出:

filename.c: \
header.h \
someotherheader.h

答案 1 :(得分:0)

您可以使用:

/showIncludes show include file names

虽然您之后可能还需要一些额外的过滤来获得所需的格式。