私はこの男と同じ問題を抱えています。clang と ccache を使用してコンパイルすると、Q_OBJECT に遭遇するたびに次の警告が表示されます。
warning: explicitly assigning value of variable of type 'int' to itself [-Wself-assign]
これは ccache を使用している場合にのみ発生し、clang だけで同じコードをコンパイルすると問題なく動作します。
推奨される解決策は環境変数を設定することであるマクロ展開にも同様の問題があるようです
CCACHE_CPP2=yes
残念ながら、これは私の問題を解決していないようです。または、私のやり方が間違っているのかもしれません。
私が試してみました:
コマンドラインからのビルド
CCACHE_CPP2=yes ninja
export CCACHE_CPP2=yes ninja
Qt Creator からの
CCACHE_CPP2
ビルド、「ビルド環境」への追加
このマクロ展開の問題を解決するために他にできることはありますか? 私は特に警告をグローバルに (それは悪いため) またはローカルに (コンパイラ固有のボイラープレートですべてのマクロをラップすることを意味するため) 無効にしたくありません。