質問: cmakeは最初のエラーで停止できますか? それはすべて問題です。 cmakeでエラーが発生すると、すぐに停止せず、すべてのcmakeファイルの処理を続行する場合があります。エラーがあることがわかったのは、処理の最後にあるため、ログ全体をさかのぼって、それがどこにあるかを確認する必要があります。最初のエラーの直後にcmakeを停止するオプション、変数、または手段はありますか?明確化:私はソースコードのコンパイルを止めようとしているのではなく、cmakeの生成(たとえばlinuxではmakefileの生成)を止めようとしています。ここに例があります(これは私の実際のプロジェクトではなく、エラーを生成するように特別に設計されています)。私のファイルcmakelists.txt:cmake_minimum_required(version 3.6) project(test) set_property(target foo property prop1 true) set_property(target bar property prop2 true) そしてcmake .を実行すると、出力が得られます:cmake error at cmakelists.txt:3 (set_property): set_property could not find target foo. perhaps it has not yet been created. cmake error at cmakelists.txt:4 (set_property): set_property could not find target bar. perhaps it has not yet been created. -- configuring incomplete, errors occurred! 私が知りたいのは、最初に報告されたエラーの直後にcmakeが停止する可能性があるかどうかです。
回答: cmakeを最初のエラーで停止させるには、cmakelists.txtファイルに以下を追加します。 -wfatal-errors このオプションにより、コンパイラーは、さらにエラーメッセージを続けて出力するのではなく、最初に発生したエラーでコンパイルを中止します さらに知りたい場合や追加したい場合は、さらに gccコンパイラオプション を参照してください。cmakeを使用していないが、最初のエラーの後でコンパイラを停止したい場合は、コマンドでフラグを使用してくださいg++ -wfatal-errors foo.cpp