KBEA-00058 - Fixing incremental links that do not appear to work

Article ID:360032827592
1 minute readKnowledge base

Summary

The Microsoft linker states that it cannot perform an incremental link and will perform a full link instead.

For example:
LINK : not found or not built by the last incremental link; performing full link

Solution

Electric Make (eMake) modifies the timestamp of the executable or library when copying the file from agent to build machine. However, the linker embeds the original timestamp in the file and compares this to the actual timestamp when determining whether an incremental link will be permitted. If the timestamp is set explicitly, eMake will preserve it, so you can use our utility "eclink.exe" to touch the file and enable incremental linking.

eclink.exe can be found in .\i686_win32\bin directory of the installation directory.

If you do not use the Electric Cloud Add-in, there are several ways to use eclink.exe:

1) Replace calls of link.exe with eclink.exe. eclink.exe will call the original link (link.exe) and touch the exe or dll on successful completion.

2) Rename link.exe to link_ec.exe and rename eclink.exe to link.exe. When used in this manner, the exe or dll will be touched after the standard link is executed. You can configure the original link location by setting EC_ORIGINAL_LINK_PATH.

3) Rename eclink.exe to ectouch.exe and call "ectouch " immediately after the the call to link.exe.

If you use the Electric Cloud Add-in, rename eclink.exe to ectouch.exe and set ECADDIN_TOUCH_EXE=true and ensure that ectouch.exe is in the PATH.

Applies to

  • Product versions: All

  • OS versions: Windows