我想自动生成一个Makefile依赖列表,但我使用的是Visual Studio 2005.如果我使用的是GCC,我可以传递-M(或其中一个变种)来创建这个依赖列表。
查看cl.exe
的命令行选项,我看不到任何明显的结果。我可以通过后处理来处理调整输出,但越接近越好。
答案 0 :(得分:5)
至少在Visual Studio 2005的cl.exe中,有选项/showIncludes
。
答案 1 :(得分:3)
我不得不处理那个确切的问题。我们想添加一个替换-M选项的脚本。我是这样做的:
我就是这样做的,它起作用了。祝你好运!
答案 2 :(得分:2)
编译器将依赖项存储在中间.idb文件中。你也许可以从那里解析它。
请参阅fillna
你可以在那里找到所有包含前缀为“/ mr / inversedeps /”或“/ ipm / header /”的文件。
我认为您还应该在其他中间文件中找到依赖项,例如: “CL.read.1.tlog”。
答案 3 :(得分:0)
不直接使用cl.exe,但使用此包装器可以实现您正在寻找的内容:
答案 4 :(得分:0)
我们遇到了与Fortran完全相同的问题,最后不得不编写我们自己的迷你编译器来扫描源代码并遍历所有#includes
。