Visual Studio C编译器是否具有与GCC -M相同的功能?

She*_*ter 6 c dependencies gcc makefile visual-studio

我想自动生成一个Makefile依赖列表,但我使用的是Visual Studio 2005.如果我使用GCC,我可以传递-M(或许多变体之一)来创建这个依赖列表.

通过命令行选项查看cl.exe,我没有看到任何明显的东西.我可以通过后处理来处理调整输出,但越接近越好.

js.*_*js. 5

至少在Visual Studio 2005的cl.exe中,有选项/showIncludes.


Geo*_*Geo 3

我必须解决这个问题。我们想添加一个脚本来替换 -M 选项。我是这样做的:

  1. 找到一个源预处理器(以及您需要的包含路径和定义)
  2. 在您需要的文件上运行它,它应该生成一个预处理版本。
  3. 大多数预处理器都有一个开关,可以启用额外信息(例如某些代码片段来自的文件)
  4. 编写一个简单的脚本来提取所有标头名称
  5. 创建一个集合,以便过滤掉重复项。

我就是这么做的,而且很有效。祝你好运!

  • 您可以使用 Visual Studio 来完成此任务。一个非常好的独立预处理器是“mcpp”。您可以在这里“http://mcpp.sourceforge.net/”找到它。 (2认同)