我试图防止在发布中显示某些错误消息(如我的问题Errors showing in Qt application - how to not display them in Release中所述)。需要一致的调试常量来触发所有平台上的操作
我正在使用Qt中的应用程序...在Windows,Mac OS X和Linux上。
对于Windows检查符号很简单:
#if defined (Q_OS_WIN32) && !defined (NDEBUG)
但检查NDEBUG在Linux上,使用的qmake时,NDEBUG无法识别内置项目...
所以我可以创建pro文件中的一个常量:
unix:CONFIG(release):DEFINES += NO_RELEASE_ERRORS
这对Linux和Windows都有效。但是,当我试图在Mac上,调试和发布配置之间的切换都似乎给我定义的常量...
我对MAC Qt安装4.8,但它的安装可能没有调试符号...
如何在MAC上找到可以触发或不显示错误的DEBUG和RELEASE类型的符号?
我想我对此有更好的理解 - 所以如果我想用相同的命令检查“debug”,我会说“CONFIG(release,debug | debug)”? – Thalia 2014-09-24 17:18:56
@Thalia你会说'CONFIG(debug,release | debug)'。说'debug | debug'是没有意义的,因为这是equals的一个替代方案,并减少到'debug'。 “CONFIG”的第一个参数就是你正在检查的内容。第二个参数是要检查的CONFIG条目 - 这些条目中最新的* *与第一个参数进行比较,并返回比较结果。 – 2014-09-24 17:21:20
非常感谢您的回答以及额外的解释和编辑 – Thalia 2014-09-24 17:34:20