清理VC ++ 6项目

时间:2011-09-13 08:47:13

标签: c++ vc6

我正在使用一个非常古老的大型VC6 ++项目,这一切都搞砸了。到处都有未使用的文件和文件夹,文件夹的副本,在当前状态下手动清理它只是一团糟。

它最终会完成,但有什么简单的方法可以检查在进行干净编译时使用了哪些文件和文件夹?

项目设置根本不能帮助我,因为它只使用文件夹副本和其他包含目录。

有什么建议吗?

3 个答案:

答案 0 :(得分:2)

好吧,如果你想解析编译器输出,你可以得到实际使用的文件。谷歌搜索时我也发现this,你可能想尝试(我自己没试过)。我的方法是清理构建,列出所有源文件,构建,并为每个源找到相应的.obj。不使用.obj的那些。请注意,这仅适用于源文件,未使用的头文件未被检测到。

答案 1 :(得分:1)

VC6将为您生成一个makefile:

您可以使用生成的makefile(以及关联的.dep文件)作为起点,并将其编辑为在构建中使用的文件列表。

除了可能在构建日志中显示的.c / .cpp / .lib文件之外,这还可以让您看到项目所依赖的头文件。要记住的一件事是,您可能还希望确保跟踪.dsw.dsp工作区和项目文件。

如果您有点冒险,您可能会说服makefile实际将源文件复制到某个其他位置,并适当覆盖某些宏和/或依赖项。但这可能比一次性努力更麻烦。

最后,有一个商业产品CopyWiz by Kinook Software,它似乎具有可能正在寻找的功能(并且它支持VC ++ 6)。注意:我不确定它是否能满足您的需求,但值得一看。

答案 2 :(得分:0)

是。从SysInternals运行Process Monitor。它可以捕获所有文件系统事件,并根据路径和其他因素对其进行过滤。

因此,将过滤器设置为源树的根,只有成功的文件读取(VC在许多地方查找标头),并构建项目。你可能还会看到几千个事件。因此,将它们保存到文件,按路径排序,并删除重复的路径(标题尤其会有许多重复的条目)