Visual Studio 2010 修改代码后编译的可执行文件未应用新变更如何解决
Visual Studio 2010 代码变更不生效故障解决方案
- 修正文件时间戳
VS增量编译逻辑依赖文件最后修改时间判断是否需要重新编译,如果你有从压缩包解压、跨设备同步项目文件、系统时间回退等操作,会导致源文件修改时间早于已生成的中间obj文件时间,VS会直接跳过该文件编译。你可以全选所有C源文件,打开后重新保存一次刷新时间戳,或使用touch命令批量更新所有源文件修改时间后重新生成。 - 核对输出路径与活动配置
右键项目进入「属性→配置属性→常规」,检查「输出目录」「中间目录」的配置值,确认你运行的exe路径和此处配置的输出路径完全一致。频繁切换Debug/Release、x86/x64配置时很容易出现配置不匹配的问题:你修改的是Release配置的代码,生成的exe在Release目录,但你打开的还是Debug目录下的旧文件。 - 关闭有缺陷的增量编译选项
VS2010的增量编译存在已知bug,高频小修改时极容易误判文件无需编译。右键项目进入「属性→配置属性→C/C++→代码生成」,将「启用最小重新生成」设置为「否」;再进入「属性→配置属性→链接器→常规」,将「启用增量链接」设置为「否」即可解决绝大多数增量编译漏编问题。 - 清理预编译头与自定义规则
如果项目启用了预编译头,手动删除生成目录下所有.pch后缀的预编译头文件后重新生成;如果项目配置了自定义生成步骤、自定义生成规则,检查规则逻辑是否存在漏洞,没有正确关联源文件修改触发生成动作。 - 强制全量编译替代普通生成
修改代码后如果还是出现变更不生效的情况,直接选择「生成→重新生成解决方案」,而非普通的Build操作,该操作会强制清理所有中间文件并重新编译所有源文件,不会触发增量编译的漏判逻辑。
内容的提问来源于stack exchange,提问作者user15148251
相关产品推荐
相关产品推荐

