qt - 在QT中,如何像预处理器一样区分调试和发布

标签 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";
}

但它没有用。

最佳答案

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

关于qt - 在QT中,如何像预处理器一样区分调试和发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15858650/

相关文章:

c++ - 当接收器忙时 Qt 信号会发生什么?

c++ - 与 libQt5Core 的链接

c++ - 拦截并忽略 QTabWidget 中的滚轮事件

windows - 将 LLVM LLDB 调试器与 Visual Studio 集成

java - 调试问题关闭 Apache Tomcat

c++ - 在多个显示器上管理多个窗口

java - 远程监控所有 Android 设备事件

ocaml - 通过预处理器禁用或启用代码

c - 在 #if 语句中使用宏时打印弃用警告

c++ - 在使用 boost 预处理器序列时避免扩展宏