Originally my computer installed vs2010, due to the development of Cocos2d-x 3.x, so I installed a vs2012 in my machine. However, it doesn't matter if this is not installed. debug your original program and the error "error lnk1123: failed during conversion to coff: Invalid or damaged file" appears. I think it is speechless.
After carefully analyzing this problem, it turns out thatThe format of Microsoft linked files has changed.
Solution 1:
The specific solution officially provided by Microsoft is to patch vs2010 with SP1:
Yes: http://www.microsoft.com/en-us/download/details.aspx? Id = 23691
Solution 2:
Is the problem of embedding the list, so the following operations are performed on the project and all dependent projects:
Right-click a project and choose "Project Properties"> "configuration properties"> "configuration tool"> "input" and "output"> "embedded List". Select "no".
1> link: Fatal error lnk1123: failed during coff conversion: Invalid or corrupt file
1> cvtres: Fatal error cvt1100: duplicate resources. Type: manifest, name: 1, language: 0x0409
This is caused by log files.
Project \ properties \ configuration properties \ Configuration tool \ Input and Output \ embedded list: changed from "yes" to "no ".
Or set
Project \ properties \ configuration properties \ linker \ configuration file \ generate a list: It turns out to be "yes" and changed to "no ".
Explanation of disposal method:
1. Assume that the name is a static library. If there is no essential resource file in the name, it is possible to change the embedded list to "no.
2. If the name already has a resource file, changing the embedded list to "no" will not be able to handle the effect, unless you remove these resource files at the same time.
Conclusion: To ensure that no resource file exists in the name and change the embedded list to "no", this effect may be handled, but it does lose the role of the resource file and there is no way to deal with it, who makes him a bug.