gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
Вот ошибка которую мне выдал компилятор:
internal compiler error: Segmentation fault
int delete_struct(ProgramLang * structList, int num)
Please submit a full bug report, with preprocessed source if appropriate.
See
Я в первые сталкивуюсь с такого рода ошибками и не знаю что делать. Может кто-нибудь объяснить, что это за ошибка и как исправлять подобные ошибки?
Команда для компиляции, которую я использовал:
g++ -Wall -W -std=c++11 -o Kursach_2 main.cpp Database_functions.cpp ioStruct_functions.cpp ioFile_functions.cpp
Ссылка на github: https://github.com/JokerSamStrew/Kursach_2term
(код очень сырой и кривой)
Ответ
Это сообщение означает, что вы столкнулись с ошибкой в компиляторе. Такое бывает — ничего страшного.
Будет здорово, если вы поможете авторам исправить её. Для этого установите разрабатываемую версию компилятора (пакет gcc-snapshot в Debian / Ubuntu) и проверьте, воспроизводится ли эта ошибка снова (пакет ставит GCC в каталог /usr/lib/gcc-snapshot).
/usr/lib/gcc-snapshot/bin/g++ -Wall -W -std=c++11 -o Kursach_2 main.cpp Database_functions.cpp ioStruct_functions.cpp ioFile_functions.cpp
Если ошибка не повторяется, обновите версию компилятора. В противном случае, пожалуйста, заполните отчёт об ошибке в баг-трекере GCC. Обязательно укажите используемую версию компилятора (достаточно вывода gcc -v). Очень вероятно, здешние товарищи помогут вам, если с английским не очень.
Более подробную инструкию, как сообщить об ошибке, смотрите в файле /usr/share/doc/gcc/README.Bugs
Исследовал вашу ситуацию. Поведение GCC подтверждаю. В последней сборке компилятора (от 2016-04-14) ошибка не воспроизводится.
В вашем случае компилятор падает из-за предкомпилированного заголовка Database_functions.hpp.gch. Иногда такое может быть, если он создавался с другими флагами нежели использующиеся при текущей компиляции. Для решения проблемы просто удалите этот файл.
N.B.: компилятор производит такой заголовок для ускорения компиляции, если в качестве входного файла передать .hpp
Комментариев нет:
Отправить комментарий