Почему VC ++ 9 (2008) не всегда может создавать .exe на win7 (LNK1104) - PullRequest
2 голосов
/ 07 января 2012

Запуск Win7 (машина поставлялась с ним) и Visual Studio 2008 (версия 9.0.21022.8 RTM).

Создано консольное приложение, просто "Hello World, again", F7 компилируется, F5 запускается, все хорошо. Внесены незначительные изменения в форматирование, F7 компилируется нормально, но «фатальная ошибка LNK1104: не удается открыть файл компоновщика« C: ... \ Debug \ test.exe ». Отменить незначительное редактирование, F7 компилируется нормально, но такая же фатальная ошибка LNK. Отзыв о вопросе» здесь: Visual Studio 2008 error? "LNK1104: не удается открыть файл" и работал с предложениями, перечисленными с этими результатами:

Exe работает? Проверено TaskMgr и нет. Скомпилировано с F7 - связано! F5 работает хорошо, TaskMgr говорит, что не работает, незначительное редактирование & F7 - ошибка LNK1104! Запустил этот тест несколько раз и не может поймать исполняемый файл, оставшийся в TaskMgr после завершения приложения (он появляется, затем исчезает), но F7 все еще не работает с LNK1104. Больше исследований ...

Сказал антивирус, чтобы исключить мой каталог dev. F7 связан, F5 работает хорошо. Незначительная ошибка редактирования F7 LNK1104. Выключил AV полностью. Ошибка F7 LNK1104. Больше исследований ...

F7 связан! Чего-чего? Незначительное редактирование, ссылка F7! Незначительное редактирование F7 связано! Незначительное редактирование F7 связано! (несколько подряд выглядели многообещающе.) F5 побежал хорошо. Незначительное редактирование, ошибка F7 LNK1104. Подождите 3 или 4 минуты, F7 связан! Незначительное редактирование F7 связано! Незначительное редактирование F7 связано! Так что ожидание 3 или 4 минут, кажется, делает все хорошо, но если я запускаю приложение, я должен ждать 3 или 4 минуты. Почему?

Итак, я открыл окно проводника и перешел в каталог ... Debug. Незначительная ошибка редактирования F7 LNK1104. Использовал shift-Del для фактического удаления файла. Ошибка F7 LNK1104. Пришлось ждать 3 или 4 минуты, прежде чем F7 связалась.

Пока я возился в File Explorer, я заметил кое-что очень любопытное, связанное с тем, когда F7 ссылается или нет. Когда я удаляю exe, я могу затем использовать (устаревший, теперь недокументированный ключ F5 обновления), и exe-файл снова появляется снова! Пока не истечет 3 или 4 минуты, он не будет отображаться снова (или, если он показывает, он исчезает). Я также определил, что этот фантом exe (то есть после того, как я выполнил неудачный F7 или удалил его и показал его обратно в проводнике файлов с F5), хотя он показывает тот же размер, что и исходный exe, он не будет выполняться (File Explorer , когда я пытаюсь выполнить исполняемый файл, говорит: «Windows не может получить доступ к указанному устройству, пути или файлу».)

Извините за многословие! Я тоже пытался отключить индексацию, без разницы. Я перепробовал все, что мог придумать, в том числе задачи с ядерными приложениями в диспетчере задач, пока моя система не перезагрузилась сама (упс!). Почему файл не может быть действительно удален / перезаписан в течение 3 или 4 минут и что я могу с этим сделать?

Ответы [ 2 ]

1 голос
/ 04 июня 2012

Я решил это, открыв свойства проекта, перейдя на панель компоновщика> общая и установив «Включить инкрементное связывание» на «Нет», и применил свойства.С этим изменением он сделал успешную сборку.(Я работал над проектом C ++ и имел ту же ошибку, также ссылаясь на файл, который он должен был собирать. После успешной сборки я изменил его обратно, и ошибка не появлялась. Также у меня уже была запущена служба Application Experience », когдапервоначальная сборка не удалась.)

0 голосов
/ 17 января 2012

MS Forum предлагает включить услугу «Опыт работы с приложениями».

...