我正在用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正确地确定项目是最新的并且什么都不做。
所以我使用<system.diagnostics
&gt;在VS中启用了调试跟踪在devenv.exe.config中设置CPS = 4并重新启动VS.使用(sysinternals)DebugView我可以看到DEBUG重建被触发,因为VS正在检查“MyProj.lib”&amp; “MyProj.exp”而非“MyProjd.lib”&amp; “MyProjd.exp”,即检查错误的文件(不存在),因此始终启动构建。
这是一个已知问题还是有一些设置来解决这个问题?设置/ IMPLIB根本没有帮助 - 这似乎是VS的“make”方面的一个问题 - 正确的文件总是被构建(如果不必要!)所以这是一个烦恼而不是一个主要问题...
由于
尼克
答案 0 :(得分:0)
我之前也见过这种行为。不确定哪个步骤是必需的,但我解决了: