检查所有lib和dll是否来自同一个构建?

时间:2010-05-29 10:04:59

标签: visual-studio-2008 visual-c++ dependencies dependency-management refix

我正在使用VS C ++ 2008开发一个程序。

现在,我有一个巨大的dll和lib依赖项列表,我还要添加更多。我担心当我需要通过从源代码构建来更新依赖项时(我必须在正确的位置手动替换已构建的dll和库),如果我意外忘记替换某些东西,反之亦然,我可能会遇到编译和/或运行时问题。找出哪个地方出错可能有点困难。

那么是否存在某种程序或方法可以适应此任务以简化构建具有许多更新依赖性的程序?

3 个答案:

答案 0 :(得分:1)

您可以将脚本作为构建后步骤添加到DLL项目中,这会自动将结果复制到公共目录中(类似$(SolutionDir)$(ConfigurationName)可能没问题,除非您对同一解决方案配置使用不同的项目配置)。或者您只需将所有项目的输出目录设置为这样的公共目录。

然后,当您构建整个解决方案时,您知道该目录中包含所有这些文件的最新版本。

答案 1 :(得分:1)

避免使这复杂化。 Visual Studio解决方案可以包含构建所有依赖项所需的任意数量的项目。 Build + Clean将删除所有二进制文件,Build + Build将重建它们。只需确保Build + Clean删除您依赖的每个.lib。

答案 2 :(得分:0)

Refix是检查依赖关系的绝佳工具:http://refix.codeplex.com/