IntelliSense Qt Creator затеняет блоки #ifdef _DEBUG, даже если выбрана сборка Debug

Когда у меня есть в моем коде #ifdef как это

#ifdef _DEBUG
printf("This is a debug build");
#endif

Qt Creator скрывает printf хотя это отладочная сборка, и когда я ее запускаю "This is a debug build" печатается.

Кажется, что intellisense не видит, что препроцессор определяет, что будет передано компилятору через командную строку (т.е. -D_DEBUG) вместо того, чтобы быть определенным в заголовочных / исходных файлах.

6

Решение

Следующее работает просто отлично в моем *.pro файл:

CONFIG(debug, release|debug):DEFINES += _DEBUG

Переключение типа сборки затем также меняет область, выделенную серым цветом. Я использую Qt5, хотя.

9

Другие решения

Других решений пока нет …