У меня такая же проблема, как и у this guy. Компиляция с лязгом и я получаю кэш компилятора это предупреждение каждый раз, когда встречается Q_OBJECT:Избегайте излишних предупреждений при компиляции кода Qt с ccache/clang
warning: explicitly assigning value of variable of type 'int' to itself [-Wself-assign]
Это происходит только при использовании CCache, компиляции тот же код с лязгом в одиночку работает отлично.
Там, кажется, similar issue with macro expansions где предлагаемое решение установить переменную окружения
CCACHE_CPP2=yes
К сожалению, это не похоже, чтобы исправить мою проблему, или, может быть, я делаю это неправильно.
Я пробовал:
Здание из командной строки с
CCACHE_CPP2=yes ninja
export CCACHE_CPP2=yes ninja
здание из Qt Creator, добавляя
CCACHE_CPP2
в «Build Environment»
Есть ли что-нибудь еще я могу сделать, чтобы исправить этот макрос вопрос о расширении? Я специально не хочу отключать предупреждения глобально (потому что это плохо) или локально (потому что это означает, что все макросы должны быть включены в шаблонный код для компилятора).
Где и как вы устанавливаете 'CCACHE_CPP2'? –
добавил абзац, чтобы ответить на ваш вопрос – ValarDohaeris