问题
I'm trying to compile my project that has two resource files. The first file contains a dialog, a menu etc. except a string table, the second one consists of a string table only. So, every time I try to build my project I get the following error:
1>CVTRES : fatal error CVT1100: duplicate resource. type:STRING, name:969, language:0x0419
1>LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
I've tried to disable incremental linking, to rename string labels in the string table, to completely change identificators of the strings, to google this issue, to search this ID in my solution, but the error remaines unchanged except the following part:
name:969
Please help me, I'm really annoyed with this issue. Thanks in advance!
回答1:
I had similar problem with duplicate strings. I tried to move strings with IDs 9001 - 9019 from main .rc file to second .rc and I've got this error from linker:
2>CVTRES : fatal error CVT1100: duplicate resource. type:STRING, name:564, language:0x041B
2>LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
I tried to find string with ID 564 but there wasn't any. So it's obvious the name of string refers to something other than ID of individual string. Then I tried to find, which of moved strings is referred in error message and it seems, that every string from 9008 on causes the error, after I move it.
After I read previous answer, that the error message refers to group of strings or table of string (keyword STRINGTABLE in .rc file), I realised, that by moving part of strings to another .rc I effectively created 2 string tables with ID 564.
The solution: changing IDs of strings 9008 - 9019 to 9108 - 9119 (I had also to check IDs of other strings, which were in resource after the string 9019) helped to eliminate the error.
回答2:
Had a similar issue. Strings are grouped in sets of 16 IDs. 969 is the group# so would refer to a group of 16 string resource ids starting with 969*16= ID 15504. If you have multiple resource files, look for any string resources that overlap ID numbers in the range 15504 thru 15519.
You might also try clearing out (deleting) compiled resource files ending in .aps if the .rc or .h have been manually edited.
P.S. language 0x0419 refers to Russian. 0x0409 would be US English.
来源:https://stackoverflow.com/questions/21412310/how-to-resolve-cvt1100-typestring-in-visualstudio-2010