Я новичок в программировании на Mingw и C ++. Я пытаюсь построить проект C ++, но получаю следующую ошибку.
ошибка: обработка исключений отключена, используйте -fexceptions для включения.
Где мне нужно передать этот параметр -fexceptions. Когда я пытаюсь
mingw32-make -fexceptions
Я получаю следующую ошибку.
mingw32-make: exceptions: Нет такого файла или каталога
Поскольку вы используете Qt, добавьте «исключения» в переменную CONFIG в вашем файле проекта (файл * .pro):
CONFIG += exceptions
Это должно позаботиться о передаче правильных флагов компилятора.
В любом случае, не изменяйте сгенерированный Makefile. С qmake Qt Makefile — это просто автоматически сгенерированный файл.
Если вы используете прямой g ++ из командной строки, вы должны сделать:
g++ -fexceptions ...rest of command...
Если вы используете Makefiles, добавьте его в CXXFLAGS (а затем просто соберите с make
по-прежнему):
# in your Makefile
CXXFLAGS := -fexceptions
...rest of your makefile...
Причина появления ошибки «Нет такого файла или каталога» заключается в том, что -f
это вариант для make
который указывает файл для использования, поэтому, когда вы передаете -fexceptions
в make
это говорит «-f
означает, что он хочет использовать следующий файл «exceptions
«… позвольте мне попытаться найти файл с именем« исключения »», а затем, конечно, он выдает ошибку, когда не может найти файл с таким именем.
CXXFLAGS
переменная в вашем Makefile передается вашему компилятору в виде флагов / опций, и именно там вы должны прикрепить любые дополнительные флаги компилятора (например, -fexceptions
).
редактировать: Если вы используете qmake
попробуйте добавить CONFIG += exceptions
в файл вашего проекта.