我正在用 C++ VS2010 构建一个 DLL。
我通过添加“d”更改了 DEBUG TargetName 的值,因此“TargetName”的定义现在是“$(ProjectName)d”。
一切都构建得很好 - 所有 DEBUG 构建文件名都有一个后缀“d” - 这样调试和发布文件都可以存在于一个目录中(这个项目是大量项目的一小部分)。
但是,当我使用 DEBUG 目标按 F7 时,项目总是会构建。例如,假设我的项目名为“MyProj”。在 RELEASE 中,我正在生成“MyProj.dll”和所有其他文件(MyProj.lib/.exp/.pdb/...) - 在 DEBUG 中生成“MyProjd.dll”等。所有这些文件在它们各自中看起来都很好目录,但 VS 总是在 F7 上的 DEBUG 中构建。在 RELEASE 中,VS 正确地确定项目是最新的并且什么都不做。
所以我在 VS 中使用<system.diagnostics
devenv.exe.config 中的 > 启用调试跟踪来设置 CPS=4 并重新启动 VS。使用(sysinternals)DebugView我可以看到触发了调试重建,因为VS正在检查“MyProj.lib”和“MyProj.exp”而不是“MyProjd.lib”和“MyProjd.exp”,即它检查错误文件(不存在),因此始终会启动构建。
这是一个已知问题还是有一些设置可以解决这个问题?设置 /IMPLIB 根本没有帮助 - 这似乎是 VS 的“制作”方面的一个问题 - 总是构建正确的文件(如果不必要的话!)所以这是一个烦恼而不是一个主要问题......
谢谢
缺口