The standard way to do this is to depend on the macro NDEBUG
, which is used by the macro assert()
defined in <cassert>
:
#ifdef NDEBUG
// release mode code
#else
// debug mode code
#endif
The opposite of #ifdef
is #ifndef
, and of course #else
branches are optional.
If this macro doesn't work (for whatever reason), you
can try the macro
QT_NO_DEBUG
, which Qt uses for a similar purpose withQ_ASSERT()
; andshould fix it so that
NDEBUG
is (un)defined correctly; it's required for<cassert>
to work properly, and code you use may depend on it.