Как включить обработку исключений в Mingw

Я новичок в программировании на Mingw и C ++. Я пытаюсь построить проект C ++, но получаю следующую ошибку.

ошибка: обработка исключений отключена, используйте -fexceptions для включения.

Где мне нужно передать этот параметр -fexceptions. Когда я пытаюсь

mingw32-make -fexceptions

Я получаю следующую ошибку.

mingw32-make: exceptions: Нет такого файла или каталога

1

Решение

Поскольку вы используете Qt, добавьте «исключения» в переменную CONFIG в вашем файле проекта (файл * .pro):

CONFIG += exceptions

Это должно позаботиться о передаче правильных флагов компилятора.

В любом случае, не изменяйте сгенерированный Makefile. С qmake Qt Makefile — это просто автоматически сгенерированный файл.

3

Другие решения

Если вы используете прямой 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 в файл вашего проекта.

4

По вопросам рекламы [email protected]