2017-05-22 11 views
2

私はこのすべての(またはほとんどの) "cc"サポートは、* nixシステムで "ウォール"をサポートしていますか?

foo: foo.c 
     $(CC) -o foo -Wall foo.c 

のようなMakefileで書きたいが、私はすべてのcc実装が-Wallをサポートしている場合はわかりません。

+1

メイクファイルには、gccに 'WARNINGS = -Wall'、MSVCに' WARNINGS =/bla'を定義する場所をサポートしたいそれぞれのコンパイラのセクションがあり、buildコマンドは ' $(CC)-o foo $(WARNINGS)foo.c' –

答えて

3

いいえ、ポータブルオプションのみを使用すると、POSIX C89とC99のオプションに制限することができます。 -Wallはその1つではありません。オプションについては、Opengroup's Unix Specification for c99を参照してください。そしてそれは、マイクロソフトではなく、ユニックスなシステムにしか答えられません。

-Wallが(私の知る限り)GNU gccによって導入されGNU gccと互換性を持つようにclangによって継承しました。

他のビルドツールを調べることを恐れていない場合は、複数のOSまたはマルチツールチェーンのビルドをサポートするものがあります。私はsconscmakeがこれを行うことができると信じています。

4

いいえ、Cコンパイラのコマンドラインインターフェイスに関する標準はありません。

Microsoftコンパイラ(Windows版)では、通常はWindowsプログラムで使用される構文ではないため、-で始まるオプションは一切受け付けていません。

関連する問題