我是Mingw和C ++编程的新手。我正在尝试构建一个C ++项目但是会出现以下错误。
错误:禁用异常处理,使用-fexceptions启用。
我需要传递此-fexceptions参数。当我在尝试时
mingw32-make -fexceptions
我正在接受以下错误。
mingw32-make:例外:没有这样的文件或目录
答案 0 :(得分:4)
如果你从命令行使用直接g ++,你应该这样做:
g++ -fexceptions ...rest of command...
如果您正在使用Makefile,请将其添加到CXXFLAGS(然后像往常一样使用make
进行构建):
# in your Makefile
CXXFLAGS := -fexceptions
...rest of your makefile...
您收到“No such file or directory”错误的原因是-f
是make
的一个选项,用于指定要使用的文件,因此当您将-fexceptions
传递给make
时{1}}它说“-f
表示他想使用以下文件”exceptions
“...让我尝试找一个名为”例外“的文件”然后,当然,它会出错当它无法找到该名称的文件时。
Makefile中的CXXFLAGS
变量作为flags / options传递给你的编译器,你应该在那里添加任何额外的编译器标志(比如-fexceptions
)。
修改:如果您使用的是qmake
,请尝试将CONFIG += exceptions
添加到项目文件中。
答案 1 :(得分:3)
由于您正在使用Qt,请在项目文件(* .pro文件)中的CONFIG变量中添加“例外”:
CONFIG += exceptions
这应该注意传递正确的编译器标志。
无论如何,请勿修改生成的Makefile。使用Qt的qmake,Makefile只是一个自动生成的文件。