Jump to content

  • Log In with Google      Sign In   
  • Create Account


VS2010 - strange manifest error


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
3 replies to this topic

#1 irreversible   Crossbones+   -  Reputation: 1316

Like
0Likes
Like

Posted 21 October 2012 - 06:10 AM

After migrating my entire code base from VS2008 to 2010 (via automatic solution upgrading) and dealing with the Windows SDK path issue I discovered that every time I change something in my code, it produces a link error the first time around. Linking again creates the exe as normal. Oddly enough I'm unable to find a single occurrence of this error on the web:

error 10100ba: The manifest is missing the definition identity. .... XXX.exe.embed.manifest 1

I've searched by error description and error code.

This isn't a showstopper, but it's definitely annoying as I have to press Ctrl+Shift+B again after a build in order to finish linking. The error seems to be 100% consistent.

Can anyone hazard a guess as to what I could do to get rid of this?

Sponsor:

#2 mrbastard   Members   -  Reputation: 1573

Like
1Likes
Like

Posted 21 October 2012 - 07:24 AM

That it works on the second build suggests a build order issue - a step of the build is expecting the output of another step to be available, but it's not - because it's built after the step that's complaining.

XXX.exe.embed.manifest is IIRC the intermediate manifest file which is later embedded as a resource in the exe.

If you look in project options, you can choose to generate the manifest either with "manifest tool" or with the linker. My guess is that you currently have it set so that the manifest tool generates the intermediate manifest file (.embed.manifest) and the linker embeds it, but the manifest tool build step is run after the linker step. If so, you just need to change "Generate Manifest" in the Linker//Manifest section of the project properties.

Quite why this is needed is beyond me - maybe the order the manifest tool and linker are used changed between versions? Possibly a 'fix' for the fact that in earlier versions of msvc the default project setup would embed the manifest on every build, breaking incremental linking.


#3 irreversible   Crossbones+   -  Reputation: 1316

Like
1Likes
Like

Posted 21 October 2012 - 07:40 AM

That makes sense and I kind of expected it to be something like this. On second look, as it turns out the solution is to do something that I didn't try before: disable linker manifest generation and only enable the manifest tool!

Thanks!

#4 mrbastard   Members   -  Reputation: 1573

Like
0Likes
Like

Posted 21 October 2012 - 07:45 AM

HTH, glad you got it working.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS