Невозможно создать временные файлы во время компиляции

Теперь, когда я создаю большой проект, я все чаще обнаруживаю, что получаю следующую ошибку.

фатальная ошибка C1083: не удается открыть промежуточный файл компилятора: «C:\Temp\SYS\a03132ex»: разрешение отклонено

Это происходит в Visual Studio 2003 и VC6, и я исследовал возможные причины MSDN и ничего не понял. На жестком диске много места, и не так уж много других программ открывается, чтобы у меня не хватило ручек. Есть идеи, или пора снова переустановить винду. Между прочим, я использую XP SP3 и имею два больших жестких диска NTFS с очень большим количеством файлов.

Изменить: имя временного файла изменилось, и я очистил всю папку c:\temp.


person SmacL    schedule 31.12.2008    source источник
comment
вы работаете как администратор? или ограниченный пользователь?   -  person EvilTeach    schedule 09.01.2009
comment
Можете ли вы использовать проводник Windows для создания текстового файла в c:\Temp\SYS?   -  person EvilTeach    schedule 09.01.2009
comment
@EvilTeach работает от имени администратора и может создавать файлы вручную. Проблема носит периодический характер, что заставляет меня подозревать, что она связана с дескрипторами или, возможно, тайм-аутом, если ОС делает что-то еще с файловой системой.   -  person SmacL    schedule 09.01.2009


Ответы (6)


Кажется, я помню откуда-то из глубины памяти, что удаление временных файлов, созданных Visual Studio для проекта, устраняет эту проблему (пока она не появится снова).

Временные файлы имеют то же имя, что и ваш проект. (В вашем домашнем каталоге также может быть что-то, связанное с VC/VS, если это не поможет.)

person krosenvold    schedule 31.12.2008
comment
Я знаю, что где-то в Documents And Settings\Application Data есть несколько файлов, которые вы, возможно, захотите удалить. - person krosenvold; 31.12.2008

И если это не поможет, проверьте, не заканчивается ли, например, настройка среды TMP точкой с запятой. Это также должен быть полный путь, а не относительный.

Изменить: я нашел тему в в Интернете об этом и там сказано, что если вы попытаетесь включить каталог вместо файла, вы можете вызвать ту же самую ошибку.

Я предполагаю, что вы уже проверили это, но имеет ли фактическая папка C:\Temp\SYS правильные разрешения (т.е. разрешить всем пользователям читать/записывать файлы в ней)?

person Blizz    schedule 31.12.2008


Упростите расположение временного файла, например, когда я копирую проекты с ноутбука на офисный ПК, проект VS2003 не компилируется. Системная переменная «tmp» указывала на %USERPROFILE%/TEMP. Visual Studio 2003 выдавала несколько ошибок «Неустранимая ошибка C1083: невозможно открыть промежуточный файл компилятора:».

Я создал новую папку Temp на диске C и изменил системную переменную TMP на «C:/TEMP». Перекомпилировал программу и вуаля ошибок нет!

person Waqas    schedule 08.02.2012

не нажимайте кнопку Rebuild в компиляторе, нажимайте только кнопку Build - это решит мою проблему

person Khan    schedule 26.01.2016

У меня была точно такая же проблема. Отключение антивируса при сборке проекта решило эту проблему. Возможным постоянным решением будет установка временного каталога VS в другом месте и указание антивирусу исключить этот каталог.

person benedict    schedule 17.03.2016