27

サードパーティのライブラリからのファイルを含めています。このファイルは、。を使用して警告にダウングレードできるエラーを発生させます-fpermissive。しかし、これらの警告でコンパイルログを「汚染」したくないので、このメッセージを完全に無効にします。

これまでのところ、ファイルを含めるときに診断プラグマ-fpermissiveを使用してオプションを設定しました。何かのようなもの:

#pragma GCC diagnostic push
#pragma GCC diagnostic warning "-fpermissive"

#include <third-party-file.h>

#pragma GCC diagnostic pop

GCCは通常、フラグの「ポジティブ」バージョンと「ネガティブ」バージョンの両方を提供するため-f、「非許容」機能を無視することを考えました。

#pragma GCC diagnostic ignored "-fno-permissive"
#include <third-party-file.h>

しかし、フラグの「ネガティブ」バージョンはないようです-fpermissive(私はGCC 4.6.3を使用していますが、バージョン4.7.0でもフラグはありません)。

この動作を模倣できますか?

4

2 に答える 2