5

У меня проблема с этим сообщением, которое появляется каждый раз, когда я пытаюсь скомпилировать любой код на языке C++. Я очень устал, пытаясь найти решение и его раздражающую причину каждый раз, когда я хочу протестировать свой код, это сообщение (В приводе нет диска. Пожалуйста, вставьте диск в дисковод E:.) во всплывающем окне и нажмите «Отмена» / попробуйте еще раз, как 10 раз подряд, чтобы удалить его.

Я нашел некоторое отношение к моей проблеме и этой теме: Как я могу избавиться от пустой буквы диска?

Но дело в том, что я пытался следовать каждому шагу, но с момента запуска я даже не могу сделать первый шаг (Вставьте съемный диск в съемный диск перед тем, как запустить компьютер.), Я делаю это, но мой компьютер не работает не устанавливайте съемный диск в точку E:. Я нажимаю на настройки, чтобы проверить информацию об этом E: Drive, но не хватает места. Это как воображаемый драйв (ничего не делает).

Я не могу понять, что происходит. Некоторые фото для помощи:

Любая идея о том, как удалить это E: spot?

3 ответа3

5

Вновь подтверждая пост доктора Рейхарда, вы, вероятно, столкнулись с этой известной проблемой с жестко закодированными ссылками на e: и i: в MinGW:

https://sourceforge.net/p/mingw/bugs/2108/

Например:

$ strings /c/mingw/bin/gcc.exe | grep '[a-z]:/[a-z]'
e:/p
e:/p/giaw/mingw/lib/gcc/
e:/p/giaw/mingw/libexec/gcc/
e:/p/giaw/mingw/bin/
e:/p/giaw/mingw
e:/p/giaw/mingw/share/locale
i:/p/giaw/mingw/share/locale
i:/p/giaw/mingw/share/locale

Я решил это, удалив все / все диски E: или I: в моей системе. Используя Управление дисками, я смог переименовать кард-ридер с E: на not-E: и ошибка исчезла.

- Дэйв

2

Я также начал иметь эту проблему просто из ниоткуда. Вчера я компилировал и выполнял код без проблем, а сегодня внезапно получаю сообщение об ошибке: «В приводе нет диска. Вставьте диск в дисковод е: ". . .

Все, что изменилось с сегодняшнего дня до вчерашнего дня, было то, что я использовал мой DVD-привод, который является диском E, чтобы установить программу. Так или иначе это затронуло GCC. Все, что я сделал, это открыл мой DVD-привод и снова закрыл его, и теперь все в порядке.

Я понимаю, что мой ответ не настолько технический, как другие, но иногда решение не должно быть техническим или сложным. Иногда простое «открыть, закрыть» будет творить чудеса! ;) Просто подумал, что поделюсь, как я решил проблему.

1

Кажется, что ваша среда компилятора / сборки C++ где-то ссылается на диск E: даже если у вас его нет.
Вам придется избавиться от этой нефункциональной ссылки, чтобы остановить это.

Может быть, у вас есть E: упоминается где-то, как ВКЛЮЧИТЬ путь LIB?
Используете ли вы makefile или файл решения, созданный кем-то, у кого где-то упоминается E:

Проверьте файл журнала компиляции / сборки на предмет таких замечаний, как «не удается открыть файл E:\xxxxxxx». Это может дать подсказку, где именно находится проблема.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .