我是 Mingw 和 C++ 编程的新手。我正在尝试构建一个 C++ 项目,但出现以下错误。
错误:异常处理已禁用,使用 -fexceptions 启用。
我需要传递这个 -fexceptions 参数的地方。当我尝试
mingw32-make -fexceptions
我收到以下错误。
mingw32-make:异常:没有这样的文件或目录
我是 Mingw 和 C++ 编程的新手。我正在尝试构建一个 C++ 项目,但出现以下错误。
错误:异常处理已禁用,使用 -fexceptions 启用。
我需要传递这个 -fexceptions 参数的地方。当我尝试
mingw32-make -fexceptions
我收到以下错误。
mingw32-make:异常:没有这样的文件或目录
如果你从命令行直接使用 g++,你应该这样做:
g++ -fexceptions ...rest of command...
如果您使用的是 Makefile,请将其添加到 CXXFLAGS(然后make
像往常一样构建):
# in your Makefile
CXXFLAGS := -fexceptions
...rest of your makefile...
你得到“没有这样的文件或目录”错误的原因是因为它是一个指定要使用的文件-f
的选项,所以当你传递给它时说“意味着他想使用以下文件” “......让我试试并找到一个名为“exceptions”的文件,当然,当它找不到该名称的文件时,它会出错。make
-fexceptions
make
-f
exceptions
Makefile 中的CXXFLAGS
变量作为标志/选项传递给编译器,您应该在其中粘贴任何额外的编译器标志(如-fexceptions
)。
编辑:如果您正在使用qmake
,请尝试添加CONFIG += exceptions
到您的项目文件中。
由于您使用的是 Qt,因此将“例外”添加到项目文件(*.pro 文件)中的 CONFIG 变量中:
CONFIG += exceptions
This should take care of passing the correct compiler flags.
In any event, do not modify the generated Makefile. With Qt's qmake, the Makefile is just an auto-generated file.