エラーを発生させるサードパーティライブラリのファイルを含めると、警告にダウングレードできる可能性があります(-fpermissive
)。しかし、これらの警告でコンパイルログを「汚染」したくないので、私はこのメッセージを完全に無効にしたい。gccでは、-fpermissive警告をミュートするにはどうすればよいですか?
これまでのところ、-fpermissive
オプションをdiagnostic pragmaと設定してファイルを含めると、 GCC以来
#pragma GCC diagnostic push
#pragma GCC diagnostic warning "-fpermissive"
#include <third-party-file.h>
#pragma GCC diagnostic pop
通常-f
フラグの「正」と「負」のバージョンの両方を提供し、私は「無許可」機能を無視について考えた:何か
#pragma GCC diagnostic ignored "-fno-permissive"
#include <third-party-file.h>
をしかしそこ-fpermissive
フラグの "否定"バージョンではないようです(gcc 4.6.3を使用していますが、バージョン4.7.0 does not have itも使用しています)。
この動作を模倣する可能性はありますか?ありがとう!
'-fno-permissive'がデフォルトです。 '-fpermissive'はフラグの"負 "と"正 "バージョンです。つまり、これを使用しないでください。コードを修正してください!たとえそれがあなたのものでないとしても。 – rubenvb
-fno-permissiveは、オプションが存在しないため、デフォルトではありません。それが存在していた場合の動作はデフォルトになります。私はコードを修正することができますが、回避策のように思えます...とにかく、インクルードされたヘッダーのセット全体を修正することは本当にオプションではありません。 – piwi
それはまさに私が意味していたものです。 '-fpermissive'はここでのハック/回避策です。とにかくどんなコードについて話していますか?おそらく、より良い選択肢があるかもしれません。 – rubenvb