Jump to content

View more

Image of the Day

Working on an auto spawn system. #gamedev #indiedev #screenshotsaturday https://t.co/Mm2kfekz7b
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.


Sign up now

VS2010 - strange manifest error

4: Adsense

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   Members   

2801
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?

#2 mrbastard   Members   

1576
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   Members   

2801
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   

1576
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.