В QT, как отличить отладку и релиз в чем-то вроде препроцессора

Я знаю, что мы можем использовать #if DEBUG #else #endif в C#, поэтому я думаю, что в Qt есть такой же способ сделать это, например:

QString Paths::sqlScriptPath()
{
#if DEBUG
    return "D:\edocclient\edocclient-build-Desktop_Qt_4_8_4_QT4_8_4-Debug\sql";
#else
    return "D:\edocclient\edocclient-build-Desktop_Qt_4_8_4_QT4_8_4-Release\sql";
}

но это не сработало.


person Aliceljm    schedule 07.04.2013    source источник
comment
Аналогичный вопрос: stackoverflow.com/questions/11714118/   -  person warunanc    schedule 07.04.2013


Ответы (1)


Правильный макрос Qt для этого — QT_DEBUG. Итак, ваш код будет:

QString Paths::sqlScriptPath()
{
#ifdef QT_DEBUG
    return "D:\edocclient\edocclient-build-Desktop_Qt_4_8_4_QT4_8_4-Debug\sql";
#else
    return "D:\edocclient\edocclient-build-Desktop_Qt_4_8_4_QT4_8_4-Release\sql";
#endif
}
person Amartel    schedule 07.04.2013