Dev C в Windows 8: внутренняя ошибка gcc

Я работаю ассистентом преподавателя в классе программирования на C, и инструктор использует Dev C++ в качестве компилятора для класса. Лично я бы использовал другой, но здесь выбор не за мной. Недавно я установил 64-разрядную версию Windows 8 Professional, которая доступна на Dreamspark через мой университет, поэтому я могу начать с разработки приложения для метро для некоторых конкурсов. К сожалению, Dev C++ перестал компилироваться. Раньше он нормально работал с 64-битной Windows 7.

Я получаю сообщение об ошибке при компиляции этого отчета:

Compiler: Default compiler
Executing  gcc.exe...
gcc.exe "C:\Users\James\Documents\Homework\TA_CPRE_185\counter.c" -o "C:\Users\James\Documents\Homework\TA_CPRE_185\counter.exe"    -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib" 
gcc.exe: Internal error: Aborted (program collect2)
Please submit a full bug report.
See <URL:http://www.mingw.org/bugs.shtml> for instructions.

Execution terminated
Compilation successful

Он говорит, что компиляция прошла успешно, но это не так, поэтому исполняемый файл не создается. Я хочу знать, есть ли у кого-нибудь идеи о том, что может заставить Dev C++ работать в этой версии Windows, чтобы мне не приходилось запускать Dev C++ на виртуальной машине? Мне нужно, чтобы он работал, чтобы я мог проводить демонстрации в классе.


person boddie    schedule 10.10.2012    source источник
comment
Это только одна программа (counter.c) или это происходит с любым вводом?   -  person Paul R    schedule 10.10.2012
comment
Это с каждым файлом, который я пытаюсь скомпилировать. Даже простой файл helloWorld.c.   -  person boddie    schedule 10.10.2012
comment
К сожалению, это будет непросто. Я предполагаю, что вы используете установку MinGW/GCC, которая поставляется с Dev C++... она чертовски устарела. Если вы в отчаянии, вы можете попробовать подключить более новый MinGW, такой как сборки TDM-GCC, но у меня есть сомнения относительно того, насколько хорошо Dev-C++ справится с этим.   -  person John Chadwick    schedule 10.10.2012
comment
Есть ли в Wwindows 8 функция совместимости, такая как режим XP?   -  person Preet Sangha    schedule 10.10.2012
comment
Это установка MinGW/GCC, и версия, которую он использует, была защищена авторским правом в 1991 году. Я посмотрю, смогу ли я понять, как заставить ее использовать более новую версию компилятора. Интересно, в чем разница между запуском на этой новой Windows и Windows 7...   -  person boddie    schedule 10.10.2012
comment
Я попробовал это в режиме пакета обновления 3 XP, и я получаю ту же ошибку.   -  person boddie    schedule 10.10.2012
comment
Приступил к работе!! ... не могу ответить на свой вопрос в течение 8 часов, ха-ха, но я установил более новую версию MinGW и изменил все каталоги на новые C:\MinGW\ соответствующие местоположения в выборе параметров компилятора в меню "Инструменты".   -  person boddie    schedule 10.10.2012


Ответы (5)


Я считаю, что Dev-C++ поставляется с очень старой версией MinGW (3.4.x, если я не ошибаюсь). Версии MinGW до 4.2.2 будут иметь проблемы с компиляцией программ в Windows Vista и более поздних версиях, если они не находятся в PATH.

Таким образом, вы можете либо обновить свою версию MinGW (как вы упомянули в комментарии, который вы уже сделали), либо добавить каталог MinGW\bin в системный путь.

person Michael Burr    schedule 10.10.2012

Пожалуйста, попросите своего преподавателя обновить Dev-C++:

http://sourceforge.net/projects/orwelldevcpp/?source=directory

Этот поставляется с работающим компилятором MinGW 4.7 или TDM-GCC 4.6.1 (x64), исправляет бесконечное количество ошибок, а также является переносимым.

person Orwell    schedule 30.10.2012
comment
Я был склонен отметить это как рекламу, но вместо этого проголосовал за :-). - person rubenvb; 05.07.2013
comment
Какое поведение ожидается от пользователей?: Публикуйте хорошие, релевантные ответы и если некоторые (но не все) быть о вашем продукте или веб-сайте, это нормально. Однако в своих ответах вы должны указать свою принадлежность к какой-либо организации. - person IInspectable; 25.08.2016

Если вы не можете изменить версию MINGW, попробуйте переименовать следующий файл: MinGW\libexec\gcc\mingw32\3.4.2\collect2.exe в collect2.exe.old.

(это решение сработало после перехода с W7 на W10).

person GOoOGle    schedule 28.11.2019

Я получил ту же ошибку, но смог обойти ее, выполнив следующие действия.

  1. Удалить приложение с помощью установки/удаления программ
  2. Отключить контроль доступа пользователей
  3. Перезагрузить
  4. Скачать Dev-Cpp 5.4.0 TDM-GCC x64 4.7.1 Setup.exe
  5. Щелкните правой кнопкой мыши загруженный файл и перейдите в «режим совместимости с Win7» для всех пользователей, выберите «Запуск от имени администратора» и нажмите «ОК».
  6. Щелкните правой кнопкой мыши загруженный файл и выберите «Запуск от имени администратора» (примечание: в этом нет необходимости, но это окна, поэтому покройте свои базы)
  7. Выберите все значения по умолчанию, но на последнем экране снимите флажок «Запустить Dev C++ сейчас», а затем выберите «Готово».
  8. Откройте проводник Windows и перейдите в каталог установки C:\Program Files (x86)\Dev-Cpp и найдите «devcpp.exe»; щелкните правой кнопкой мыши и выберите «режим совместимости с win7» для всех пользователей, выберите «запуск от имени администратора» и нажмите «ОК» (опять же, это, вероятно, не обязательно, но это тоже ничего не повредит).
  9. Дважды щелкните приложение и закрепите его на панели задач для удобства использования.
  10. Откройте новый проект и протестируйте его, он должен работать без проблем.
person Doug    schedule 15.02.2013

Я использовал Менеджер установки MinGW для загрузки последней версии компилятора C (5.3.0 -3 на данный момент) и я реплицировал файлы в папке Dev-Cpp. Теперь он отлично работает в моей Windows 10.

person Sergio Rodríguez González    schedule 26.05.2017