Я думаю, что первоначальные ответы хороши, но они требуют, чтобы вы управляли своей конфигурацией вручную , в то время как есть способы позволить IDE управлять этим для вас автоматически в зависимости от того, выбрана конфигурация release или debug .
Этот бит может быть избыточным, но учтите, что он будет работать для вас , только если вы используете IDE для сборки . Очевидно, что если это не так, вам понадобится другое решение.
Steps
Поскольку изображения стоят тысячи слов, вот пример того, как вы определяете макрос отладки для вашей сборки отладки, используя Qt Creator 4.3.1:
- Убедитесь, что выбрана конфигурация Debug ;

- Перейти в раздел Проекты в левом меню;
- Перейти в Build раздел
> Build">
- В разделе Шаги сборки найдите поле ввода Дополнительные аргументы ;
- Введите определения макросов (например,
DEBUG
для ваших #ifdef DEBUG
s в коде; в моем случае это __CTS_DEBUG__
)

Макрос теперь будет определяться только при использовании вашей конфигурации отладки; когда вы выбираете конфигурацию Release (см. шаг 1), она автоматически становится неопределенной, а ваш условно скомпилированный код отладки будет удален, как показано на рисунках ниже, и это именно то, что вы всегда хотели.
Результаты
При выбранной конфигурации debug

При выбранной конфигурации release :
