問題タブ [warning-level]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
7 に答える
118075 参照

cmake - CMakeで警告レベルを設定するにはどうすればよいですか?

CMakeを使用してプロジェクト(ソリューション全体ではない)の警告レベルを設定するにはどうすればよいですか?VisualStudioGCCで動作するはずです。

さまざまなオプションを見つけましたが、ほとんどが機能しないか、ドキュメントと一致していないようです。

0 投票する
5 に答える
6530 参照

c++ - QT警告レベルの提案

QT プロジェクトのコンパイル中に使用する警告レベルは?

W4 でコンパイルすると、次のような多くの警告が表示されます。

W3 でコンパイルするか、W4 で警告を処理する他の方法を見つける必要があります。たとえば、新しいヘッダー ファイルを追加し、プラグマを使用します (C++ コーディング標準: 101 の規則、ガイドライン、およびベスト プラクティスで説明されています)。

あなたの習慣は何ですか?

ありがとう。

0 投票する
2 に答える
94 参照

c++ - -Osを使用したその他の警告

このプログラム

でコンパイルすると、警告やエラーなしでコンパイルされます

g++ -Wall test.cpp

ただし、同じ警告レベルであっても、最適化をオンにしてコンパイルすると

g++ -Wall -Os test.cpp

次に、初期化されていない変数を使用していると文句を言い始めます。
(注:実際のプログラムは少し長く、この小さな例ほど明確に問題を明らかにしていません。)

グーグルで検索しようとしましたが、正しい検索用語を使用していないか、これは既知の現象ではありません。とにかく、私の質問は基本的に

  • 同じ警告レベルであっても、コンパイラがこの警告を-Osで表示し、-O0では表示しないのはなぜですか?(どちらかといえば、変数を完全に最適化することができ、問題がなくなるので、この小さな例では逆になると思います。)
  • このような予期しない警告をトリガーする他のコンパイラオプションはありますか?私は自分のプログラムをバグフリーにすることに興味があるので、それらすべてを見るのが好きです!
  • これは既知の機能ですか?もしそうなら、どこでそれを見つけることができますか?検索してみました。
  • それとも、これは私の特定のバージョンのコンパイラ(gcc 4.3.2-1.1、Linux、32ビット)の単なる不具合ですか?
0 投票する
0 に答える
692 参照

visual-studio-2010 - Visual Studio 2010 ですべての新しいプロジェクトの警告レベルを設定するには?

タイトルが既に述べているように、新しく作成されたすべてのプロジェクトのプロパティ (より具体的には警告レベル) を 4 に設定したいと考えています。

これまでに行ったこと: 1.開いたProperty Manager->Microsoft.Cpp.Win32.User 2.下C/C++:警告レベルを4に変更し、すべての警告をエラーとして扱います 3.保存アイコンをクリックしました

これで完了したはずですが、新しい空のプロジェクトを作成して新しい C++ ファイルを追加するたびに、プロジェクト設定を開くと、警告レベルが標準値 (3) に戻ります...プロパティページを再度開くと、まだ4に設定されています(私が望むように)...

VS が新しいプロジェクトに正しい設定を適用しないのはなぜですか?

0 投票する
1 に答える
1174 参照

nuget - NuGet の復元 - 警告をエラーとして扱う方法は?

.NET Core SDK が見つからないため、パッケージの復元は部分的にしか成功せず、SDK プロジェクトが省略されます。

警告: msbuild プロジェクト情報の読み取り中にエラーが発生しました。入力ソリューションまたはプロジェクト ファイルが有効であることを確認してください。NETCore および UAP プロジェクトはスキップされ、packages.config ファイルのみが復元されます。

これは単なる警告であり、nuget.exe はステータス コード 0 で終了するため、ビルド パイプラインは続行され、後で失敗するため、原因を見つけるのが難しくなります。

これは私たちの環境では一般的な問題であるため、この警告をエラーとして処理したいと考えています。他の警告もエラーとして扱われるのであれば、まったく問題ありません (望ましいことですらあります)。

NuGet が MSBuild プロパティTreatWarningsAsErrorsと をWarningsAsErrors読み取ることは知っていますが、コマンド ラインからそれらを使用することはできませんでした。NUGET_RESTORE_MSBUILD_ARGS 環境変数を に設定しようとしまし/p:TreatWarningsAsErrors=trueたが、オプションが内部 MSBuild 呼び出しに渡されても、nuget.exe によって出力される警告には影響しませんでした。他の適切なCLI オプション環境変数は見つかりませんでした。

環境

オンプレミスの Azure Pipelines ビルドで、NuGet タスクを実行して、ソリューションのパッケージを復元します。このソリューションには、.NET Framework を対象とし、packages.config を使用するプロジェクトと、PackageReference を使用して .NET Core を対象とするプロジェクトの両方が含まれています。

ビルド エージェントは私の管理下にありません。正しい SDK バージョンがインストールされているものもあれば、インストールされていないものもあります。.NET Core SDK インストーラー タスクを使用して、適切な SDK をインストールします。

ソリューションのビルド定義または SDK の更新の変更により、ビルドが壊れる可能性があります。その場合、エラー メッセージはあいまいです。なぜなら、これは VS ビルドからのものであり、根本原因があるが緑色に光っているパッケージ復元ビルド ステップからのものではないからです。

内部的には、NuGet タスク (バージョン 2.*) が nuget.exe (現在のバージョン 5.0.2) を実行し、次に MSBuild を実行して、PackageReference に関連するジョブの一部を実行します。MSBuild が失敗し、NuGet.CommandLine.ExitCodeException がスローされますが、キャッチされ、ログに記録され、破棄されます。上記の Warning_ReadingProjectsFailed 警告のすぐ上に、スタック トレースが出力されます。

catch 句の上部にあるコメントには、次のように書かれています。

0 投票する
1 に答える
255 参照

cmake - ファイルごとに異なる警告レベルを設定する方法は?

コンパイラに応じてさまざまな警告レベルを設定できますが、たとえば次のようになります。

ファイルごとに設定することはできません。

${SRC_WARN}同じディレクトリに、名前がCMake 変数にある一連のファイルがあり、他のファイルとは異なる警告レベルが必要です。

でそのような条件を指定する方法はありますtarget_compile_optionsか?