Если вы используете прямой 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
в файл проекта.
person
Cornstalks
schedule
15.11.2012
-fexceptions
кCXXFLAGS
в вашем make-файле вместо того, чтобы передавать его в качестве аргумента командной строки? - person Praetorian   schedule 15.11.2012