Выполнение CL.EXE с помощью VS 6.0 C ++ приводит к "Нет диска в диске .. <имя поврежденного диска> - PullRequest
0 голосов
/ 27 мая 2011

Выполнение CL.EXE с помощью VS 6.0 C ++ приводит к «Нет диска в дисководе. Пожалуйста, вставьте диск в дисковод xxxx», где XXX - это серия ненужных символов.Это подразумевает некоторый поврежденный реестр var или env var, но я не могу найти.Я попытался полностью удалить / переустановить VS 6.0 безрезультатно.

PS Я использую VS 6.0 в течение многих лет без проблем.Моя установка VS 2008 в порядке, но мне также нужна моя VS 6.0

Ответы [ 2 ]

1 голос
/ 11 августа 2012

Во время установки по какой-то причине эти записи ссылаются на установочный диск вместо вашего жесткого диска.

Инструменты - Параметры - Каталоги - в раскрывающемся списке выберите Файлы библиотеки удалите эти две записи. Должна быть запись в C: \ Program Files \ DevStudio \ VC \ LIB и \ MFC \ lib вместо

D: \ DevStudio \ VC \ LIB D: \ DevStudio \ VC \ MFC \ Lib

0 голосов
/ 27 мая 2011

Если вы создаете новое консольное приложение Win32 в C ++ 6.0, возникает ли такая же проблема?Если нет, это предполагает, что ваша проблема может быть связана с вашим проектом, а не с C ++ 6.0 в целом.В этом случае вы можете просто открыть файл dsw или dsp с помощью блокнота и найти нечетное имя диска.

Если вы идете в Инструменты |Варианты |Вкладка «Сборка» и убедитесь, что флажок «Записать журнал сборки (.plg)» установлен, тогда Visual Studio запишет все свои действия в файл с именем .plg.Этот файл можно открыть с помощью блокнота (или вашего любимого текстового редактора).Вы должны увидеть командную строку, переданную в CL.EXE - что-то вроде этого ...

Создание командной строки "cl.exe @C: \ DOCUME ~ 1 \ XPMUser \ LOCALS ~ 1\ Temp \ RSP2EF.tmp "

Непосредственно перед этим вы должны увидеть содержимое файла ответов ...

Создание временного файла" C: \ DOCUME ~ 1\ XPMUser \ LOCALS ~ 1 \ Temp \ RSP2EF.tmp "с содержимым [/ nologo / MLd / W3 / Gm / GX / ZI / Od / D" WIN32 "/ D" _DEBUG "/ D" _CONSOLE "/ D" _MBCS "/Fp"Debug/STOFLO1.pch "/Yu"stdafx.h" / Fo "Debug /" / Fd "Debug /" / FD / GZ / c "C: \ TestPrograms \ VC ++ \ STOFLO1 \ STOFLO1.cpp"]

Это может помочь вам выяснить, где используется ваше нечетное имя диска, что, в свою очередь, может сказать вам, откуда оно.

Если это не поможет, вы можете захотетьиспользовать такой инструмент, как Process Monitor из SysInternals .Запустите Process Monitor, пока вы запускаете VC ++ 6.0 и создаете свой проект, а затем используйте Find, чтобы найти в выводе монитора нечетное имя диска.Существует большая вероятность того, что PM получит любой доступ, который восстановил это имя (из реестра или где-либо еще).Если это произойдет, это снова может дать вам ключ к пониманию того, что нужно изменить.

...