使用增量链接构建和签署解决方案,以便与Windows 10 Device Guard一起使用 [英] Building and signing a solution with incremental linking for use with Windows 10 Device Guard
问题描述
使用Windows 10 Device Guard,我在包含许多C ++项目的大型解决方案中添加了对所有模块的签名。 但是,现在我在启用增量链接的项目上收到以下消息:
With Windows 10 Device Guard, I have added signing to all of my modules in a large solution containing many C++ projects. However, now I am receiving the following messages on projects with incremental linking enabled:
LINK:C:\ SomePath \SomeFile.dll未找到或未由最后一个增量链接构建;执行完整链接
LINK : C:\SomePath\SomeFile.dll not found or not built by the last incremental link; performing full link
我怀疑这是由于DLL的签名造成的。 有没有办法将签名和增量链接功能放在一起?
I suspect this is due to the signing of the DLL. Is there a way to have both signing and incremental linking function together?
谢谢。
推荐答案
你好simdoc,
Hi simdoc,
感谢您在这里发帖。
>> LINK :C:\ SomePath \SomeFile.dll未找到或未由上一个增量链接构建;执行完整链接
我怀疑这是由于DLL的签名造成的。 有没有办法将签名和增量链接功能放在一起?
你是否也启用了
链接时间代码生成?增量链接与链接时间代码生成不兼容。
Did you also enable link time code generation? The incremental linking is incompatible with link time code generation.
此外,如果出现以下任何一种情况,LINK会执行完整链接:
Additionally, LINK performs a full link if any of the following situations occur:
- 缺少增量状态(.ilk)文件。 (LINK创建一个新的.ilk文件,为后续的增量链接做准备。)
- .ilk文件没有写权限。 (LINK忽略.ilk文件并非增量链接。)
- 缺少.exe或.dll输出文件。
- .ilk,.exe或.dll的时间戳已更改。
- 更改了LINK选项。大多数LINK选项在构建之间更改时会导致完整链接。
- 添加或省略对象(.obj)文件。
- 使用/ Yu /编译的对象Z7选项已更改。
请检查您的dll是否符合以下条件之一。
Please check if your dll meets one of these conditions.
希望这可以帮助你。
最好的问候,
Sera Yu
这篇关于使用增量链接构建和签署解决方案,以便与Windows 10 Device Guard一起使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!