在QT中,如何区分调试和释放,就像预处理器一样

时间:2013-04-07 03:46:07

标签: qt debugging preprocessor release

我知道我们可以在c#中使用#if DEBUG #else #endif,所以我觉得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";
}

但它不起作用。

1 个答案:

答案 0 :(得分:5)

正确的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
}