1

私は Mingw と C++ プログラミングが初めてです。C++ プロジェクトをビルドしようとしていますが、次のエラーが発生します。

エラー: 例外処理が無効になっています。-fexceptions を使用して有効にしてください。

この -fexceptions パラメータを渡す必要がある場所。私がしようとしているとき

mingw32-make -fexceptions

次のエラーが発生します。

mingw32-make: 例外: そのようなファイルやディレクトリはありません

4

2 に答える 2

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」という意味です...試してみましょう「例外」という名前のファイルを見つけます。もちろん、その名前のファイルが見つからない場合はエラーになります。-fexceptions

MakefileのCXXFLAGS変数は、フラグ/オプションとしてコンパイラに渡され、追加のコンパイラ フラグ ( など) を貼り付ける必要があります-fexceptions

編集: を使用している場合は、プロジェクト ファイルにqmake追加してみてください。CONFIG += exceptions

于 2012-11-15T16:27:03.053 に答える
3

Qt を使用しているため、プロジェクト ファイル (*.pro ファイル) の CONFIG 変数に「例外」を追加します。

CONFIG += exceptions

これにより、正しいコンパイラ フラグが渡されます。

いずれにしても、生成された Makefile は変更しないでください。Qt の qmake では、Makefile は単なる自動生成ファイルです。

于 2012-11-15T16:31:54.430 に答える