Изображение взято отсюда
При работе с различными версиями Visual Studio и .Net Frameworks иногда возникают досадные неувязки. Далее о том, что делать, если линкер при сборке C++ проекта ругается следующим образом
LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
Почему такое случается?
1)Вы запускаете VS 2010 после установки VS 2012.
2) Был установлен новый .Net Framework 4.5
3) Файлы .Net Framework 4 не в порядке (повреждены или удалены)
4) Файлы VS 2010 не в порядке.
Как решить проблему для одного проекта?
Чтобы ваш проект линковал в не инкрементальном режиме можно установить в опциях проекта Linker->General->Incremental Linking значение NO. Это, конечно, имеет свои последствия, но зато обходит нашу текущую проблему.
Как решить проблему?
- Удалить .Net Framework 4.5 и установить .Net Framework 4
- Подменить файл
cvtres.exe версии VS2010 версией VS2012 (Обычно они лежат
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\
cvtres.exe,
)C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\
cvtres.exe соответственно
Спасибо, подмена файла реально помогла.
ОтветитьУдалитьДа помогатет подмена
ОтветитьУдалитьТак же можно обновить Visual Studio 2010 RTM до версии VS 2010 SP1. Не знаю какая версия у меня стояла, RTM или еще какая, но обновление мне помогло.
ОтветитьУдалитьЯ просто не хотел удалять .Net Framework 4.5, просто у меня есть программы которые могут его использовать(точно не знаю, но вдруг) и что бы подменить файл тоже не было возможности так как я не ставил visual studio 2012.
Обновление есть на официальном сайте microsoft. Вот ссылка, где можно загрузить обновление - http://www.microsoft.com/en-us/download/details.aspx?id=23691
а я просто удалил файл cvtres.exe из папки bin и все заработало! пока не знаю, выльется ли это потом в какие-нибудь плохие последствия!))
ОтветитьУдалитьМне тоже помогло удаление файла, а никакая замена не помогла.
ОтветитьУдалитьПомогло удаление cvtres.exe
ОтветитьУдалитьа какие последствия?
ОтветитьУдалитьИ правда:) Удаление файла "cvtres.exe" лечит проблему. Пока.
ОтветитьУдалитьЯ на всякий случай оставил копию.
Помог SP1.
ОтветитьУдалитьУдалил файл "cvtres.exe" и все работает. Слава Господу!
ОтветитьУдалитьСпасибо, я тоже!
Удалитьна машине vs 2010, потом был установлен vs2015, помогла замена старого файла
ОтветитьУдалитьУдалил "cvtres.exe" - заработало.
ОтветитьУдалить