GCCを使ってCソースとC++ソースを一緒にコンパイルしようとしています。私は2回の警告を得ることを除いてGCCを使ってCとC++ファイルをまとめてコンパイル
gcc -std=c++0x test.cpp -std=c99 test.c -lstdc++
さて、これは、正常に動作します。
cc1plus: warning: command line option "-std=c99" is valid for C/ObjC but not for C++
cc1: warning: command line option "-std=c++0x" is valid for C++/ObjC++ but not for C
そこで私は、このセットアップで-Werror
を使用することはできません。これらの警告を何とか抑えることができますか?
あなたがしていることは、自分が行っていることとはまったく異なります。最初に言語標準をC++ 0xに設定し、それをC99に設定します。これは、_both_ファイルに対してC99を使用するのと同じです。しかし、C++をC99モードでコンパイルすることは不可能です。したがって、 '.cpp'ファイルの場合、コンパイラはデフォルトのC++ 98に戻ります。したがって、C99でCファイルを、C++でC++ファイルをコンパイルしています。解析オプションの間、GCCはどちらの言語バージョンオプションにも互換性のないファイルがあるとみなし、各オプションの警告を出力します。 – Damon