使用Visual Studio 2008 SP1,
这行:C++:LINK:debug XXXXX.exe未找到或未由最后一个增量链接构建;执行完全链接
LINK : debug\XXXXX.exe not found or not built by the last incremental link; performing full link
似乎每一次我编译项目,无论改变我做多么小。
这可能是什么原因?
使用Visual Studio 2008 SP1,
这行:C++:LINK:debug XXXXX.exe未找到或未由最后一个增量链接构建;执行完全链接
LINK : debug\XXXXX.exe not found or not built by the last incremental link; performing full link
似乎每一次我编译项目,无论改变我做多么小。
这可能是什么原因?
因此,原来的问题解决它的自我如果我添加/INCREMENTAL
到链接器命令行。尽管事实上根据文档的默认行为是启用增量链接。
奇怪。
在黑暗中,但是,真的射击...
你移动XXXXX.exe从那里建到别的地方?增量链接的重点在于改变现有的exe。如果没有,这将是困难的......
另一个可能的原因是该文件被构建(可能是通过其他工具)后改变...
所有原因中the help item for /INCREMENTAL列出:
此外,LINK如果执行以下任一情况 发生全 链路:
增量状态(.ilk)文件是 丢失。 (LINK创建为后续 增量链接准备一个新的.ilk文件 。)
没有为 .ilk文件没有写权限。 (LINK忽略.ilk文件 并链接不加)。
缺少.exe或.dll输出文件是 。
.ilk,.exe或 .dll的时间戳已更改。
LINK选项已更改。大多数LINK 选项在版本之间更改时, 会导致完整链接。
添加对象(.obj)文件或省略 。
编辑了 /Yu/Z7选项的对象已更改。
没有..链接后没有任何东西触及exe。 – shoosh 2009-10-13 12:16:11
病毒扫描程序,搜索索引器,备份软件等情况如何?是什么东西接触你系统上的所有新文件? – 2009-10-13 20:40:32
(也是在黑暗中)一个可能的原因是您使用引用__DATE__
宏的项目范围标题。但是在那种情况下,你会看到一个完整的重新编译(你呢?)
从来没有一个完整的重新编译,我没有引用__DATE__任何地方 – shoosh 2009-10-13 12:16:50
老问题,但只是为了防止某人仍然是个问题(而且是......)。
增量链接与生成清单文件不兼容(Proj opts> Linker> Manifest File> Generate Manifest:Yes)。事实上,生成清单会修改exe/dll,因此链接器必须完全链接。
有一些解决方法,了解详情: http://chadaustin.me/2009/05/incremental-linking-and-embedded-manifests/
临时(和最简单的/最快)的解决方案是开发过程中禁用清单生成和释放阶段再次启用它。虽然这会禁用应用程序的XP/Vista风格的GUI(控件看起来像“经典模式”)。
就我而言,昨天我得到了这个错误。
VS集合code generation > runtime Library
到Multi-threaded Debug DLL (/MDd)
而不是Multi-threaded Debug (/MTd)
。
如果我重新创建新项目,这个不好的设置会再次发生。我手动切换到/Mtd
,然后没有发生错误。
这是为我做的。大帮忙! – 2010-09-24 18:08:47