最近做一个项目遇到个问题:qt修改源程序后运行程序得到的还是上次运行的结果,例如当我们在程序某处设置debug输出时,运行程序debug没有输出到控制台。
这是由于我们的系统时间的改变导致的。当项目在之前编译过,我们改变系统时间那么我们再次编译会出现问题,可能出现无法构建程序(一直构建陷入死循环)的问题,也有可能能够构建并运行程序,可是我们运行的程序却是之前未改变系统时间时的代码,而我们修改后的代码却没有构建成功而运行得到的结果与我们预期结果不同。
例如:
当前本地时间15.05
(我们之前编译过所以改变时间不会存在循环构建)正常时间编译输出:
修改系统时间再次编译输出:
由于改变系统时间导致编译输出得到的结果还是之间未改变时间时的结果。
解决方案:
最有效的一个解决方案。
再次编译ok。
总结:当我们将系统时间向前增加不会出现编译结果不对,当我们将时间向后减少才会导致上述情况。
同理如果你要在修改后的时间运行那么只需要删除编译文件在进行编译就ok。
甚至有可能出现一直在构建程序,同样只需删除该文件即可。
转载请标明原贴出处:https://blog.csdn.net/zj490044512