2

Я пытаюсь создать программу на C++ в VS2010 и столкнулся с ошибкой, которую я никогда раньше не видел.Visual Studio 2010 не может открыть файл .ilk

LINK: фатальный LNK1104 ошибки: не удается открыть файл C: ... \ Debug \ labfour.ilk

Я искал решение, но не смог найти какие-либо другие экземпляры Visual Studio линкера не удалось открыть файл .ilk. Кто-нибудь знает, почему что-то подобное произойдет? Мне интересно, есть ли решение, похожее на решение ошибки cannot find or open the PDB file, где вы должны отрегулировать некоторые параметры в свойствах проводника решения.

Любое понимание было бы благодарно, спасибо.

ответ

3

В моем опыте это одна из двух вещей:

  1. Файл .ilk сломана. Просто чистите и перестройте; если это не очистит файл .ilk, а затем удалите его самостоятельно. Этот файл склонен к сломанию, в случае отмененных сборок обычно я думаю.

  2. Вы создаете два проекта, сконфигурированных для записи одного и того же файла .ilk, или с помощью инкрементной привязки (Linker> General> Enable Incremental Linking) +/MP (C/C++> Общая/многопроцессорная компиляция). Это может прерываться с перерывами, а иногда, когда он терпит неудачу, он может разорвать файл .ilk. Однако я менее уверен в этом сценарии.

+0

спасибо. Мне пришлось удалить .ilk вручную. – Marc

+0

Спасибо. Ваша вторая теория была правильной для crbug.com/673521. У нас была цель tracing.dll и целевая трассировка. В компоновщике VC++ используется tracing.ilk для обеих целей, что означает, что в сборке было условие гонки, - если две ссылки перекрываются, то один будет терпеть неудачу, потому что он не сможет открыть файл .ilk, потому что он уже открыт. –