make
ドライバをダウンロードしようとしていますが、xf86-ビデオ-armsoc、アーチLinuxで。ただし、構成により、make
ドライバーはすべてのコンパイラー警告をエラーとして処理するため、ドライバーをコンパイルできません。この機能を無効にする方法はありますか?
発生したエラーを読み、すべて警告のように見えます。 、およびstorage of 's' isn't known
のようなものはimplicit declaration of function
すべて無視できるものです。nested extern declaration
unused variable
答え1
-Werror
エラーである警告は通常、コンパイラに渡された結果です。開発者はまだ開発中であるか、ミッションクリティカルなソフトウェアにいるので、バグがどれだけ多く、バグが残っているかを確認するために、これを意図的に行うことができます。
とにかく、どこであるかを調べる必要があります-Werror
。grep
素晴らしいツールです。grep -lr Werror .
ドライバのソースコードディレクトリにある間、単語全体を再帰的にgrepします(先行ダッシュは重要ではありません)。
その後、各ファイルで簡単な削除スイッチを使用できますsed -i 's@-Werror@@g' file
。
探すhttps://github.com/endlessm/xf86-video-armsoc/blob/master/src/Makefile.amERROR_CFLAGSで明示的な設定を見た-Werror
ので、開発者は致命的ではない警告もキャッチすることにしました。
残念ながら、-Werror
コンパイラは非常に多様であるため、リリースソフトウェアを構築するときには役に立たず、迷惑です。暗黙的な関数宣言や互換性のないポインタ/ストアサイズの不一致などの簡単なことには注意が必要ですが、コードが一般的で許容される標準に準拠するようにすることは開発者の仕事です。