Repeated Relink After Build Problem

I have a complex project with multiple regular dll's and COM dll's. The code is also being built for both the PC and Smart Devices (CE) within the same directory structure. Frequently when I edit the code and rebuild successfully, if I hit build again after it is completed the exact same set of starting dll's are relinked which triggers other files dependant on the relinked dll's to be rebuilt. I've tried to looking at the project and the project output carefully looking for anything obvious.

Is there anyway for me to find out exactly what triggered the relinking

Does anyone have any idea why the relinking is occuring

If I clean the projects that the relinking starts with then it does not relink on a rebuild until something I do not understand happens and it starts relinking again.

Below you will find a typical output on the relink. This is in VS2005 for a PC target.

AliciaV

1>------ Build started: Project: SDTCustomizableDataForms, Configuration: Debug Win32 ------
2>------ Build started: Project: SDTManualOffset, Configuration: Debug Win32 ------
2>Linking...
1>Linking...
2>Embedding manifest...
1>Embedding manifest...
2>Registering output...
1>Registering output...
2>Performing Post-Build Event...
2> 1 file(s) copied.
2> 1 file(s) copied.
2> 1 file(s) copied.
2> 1 file(s) copied.
2>Build log was saved at file://h:\SDTSteamboat\Version_2X\SDTManualOffset\Debug\BuildLog.htm
2>SDTManualOffset - 0 error(s), 0 warning(s)



Answer this question

Repeated Relink After Build Problem

  • Sebastien A

    no, it doesn't cause any problems other than wasting some time.

    josh

    VC++ project system developer



  • wbeard52

    This is a nuisance issue that is pretty annoying. If I tried to turn generating manifests off I get this error:

    1>------ Build started: Project: SDTTrimble_XHGPS, Configuration: Debug Win32 ------

    1>Linking...

    1> Creating library .\Debug/SDTTrimble_XHGPS.lib and object .\Debug/SDTTrimble_XHGPS.exp

    1>Registering output...

    1>Project : error PRJ0050: Failed to register output. Please ensure you have the appropriate permissions to modify the registry.

    1>Build log was saved at "file://h:\SDTSteamboat\Version_2X\SDTTrimble_XHGPS\Debug\BuildLog.htm"

    1>SDTTrimble_XHGPS - 1 error(s), 0 warning(s)

    ========== Build: 0 succeeded, 1 failed, 4 up-to-date, 0 skipped ==========


  • Jimbo M

    it's definitely a bug. there are known bugs similar to this, so it's possible that we already know about it, but to be on the safe side it would be great if you could enter a bug with a repro case at http://lab.msdn.microsoft.com/ProductFeedback

    also, IIRC the cause of these bugs was manifest embedding, so if you turn that off (property pages, manifest tool, "input and output" page, set "embed manifest" to "no"), that _may_ work-around the problem.

    hth,

    josh

    VC++ project system developer



  • Dave Biggins

    I just came across the same problem. If I keep hitting the 'build' button over and over, it will keep relinking my dll. I didn't see anything out of the ordinary in the Link Settings.

  • Shalabh Gupta

    if your project output is a dll then you'll need to embed the manifest or else the loader won't load it (because it won't be able to locate the C Runtime Library) :(

    josh

    VC++ project system developer



  • nikhilkapur

    I came across this relinking problem while trying to debug a crash in my application. Just to clarify things, this repeated relinking problem doesn't cause other problems, does it It sounds like it is more of a nuisance, correct

  • Billo355

    Alicia,

    I've moved this to the C++ forum since you're building native code, which is handled by the VCBuild application, not MSBuild.

    Neil



  • Repeated Relink After Build Problem