linux – Qt Creator CONFIG(调试,发布)开关不起作用
发布时间:2020-12-13 18:48:42 所属栏目:Linux 来源:网络整理
导读:问题:总是在Qt Creator 2.8.1 for Linux中选择调试或发布的地方评估CONFIG(调试,调试|发布)和CONFIG(发布,发布|发布). 我在Qt Creator应用程序中的配置(库存 – 新项目的默认值): Projects-Build Settings-Debug Build Steps: qmake build configuration:
问题:总是在Qt Creator 2.8.1 for
Linux中选择调试或发布的地方评估CONFIG(调试,调试|发布)和CONFIG(发布,发布|发布).
我在Qt Creator应用程序中的配置(库存 – 新项目的默认值): Projects->Build Settings->Debug Build Steps: qmake build configuration: Debug Effective qmake call: qmake2 proj.pro -r -spec linux-gnueabi-oe-g++ CONFIG+=debug Projects->Build Settings->Release Build Steps: qmake build configuration: Release Effective qmake call: qmake2 proj.pro -r -spec linux-gnueabi-oe-g++ 我在proj.pro中的配置: message(Variable CONFIG:) message($$CONFIG) CONFIG(debug,debug|release) { message(Debug build) } CONFIG(release,debug|release) { message(Release build) } 调试控制台上的输出: Project MESSAGE: Variable CONFIG: Project MESSAGE: lex yacc warn_on debug uic resources warn_on release incremental link_prl no_mocdepend release stl qt_no_framework debug console Project MESSAGE: Debug build Project MESSAGE: Release build 在控制台上输出Release: Project MESSAGE: Variable CONFIG: Project MESSAGE: lex yacc warn_on uic resources warn_on release incremental link_prl no_mocdepend release stl qt_no_framework console Project MESSAGE: Debug build Project MESSAGE: Release build 在Windows 7下,我没有遇到过这种.pro配置的任何问题,而且工作正常. CONFIG = test message(Variable CONFIG:) message($$CONFIG) CONFIG(debug,debug|release) { message(Release build) } 我对输出很惊讶: Project MESSAGE: Variable CONFIG: Project MESSAGE: test Project MESSAGE: Debug build Project MESSAGE: Release build 所以,即使我完全清理CONFIG变量,它仍然会看到调试和发布配置. 我做错了什么? 解决方法
Qmake很疯狂,这是唯一可行的解??释.整个发布/调试在配置中多次闻起来像一个旧的设计错误,在它迟到之前从未解决,并且已经编写了太多配置.还记得make中的标签吗? Dude喜欢15个用户,因此他从未解决过这个糟糕的决定.
无论如何. 在Qt 4.8.4.1上我在linux上看到了同样的问题. 这是解决方案:在花括号之前删除换行符. 从字面上看,这有效: CONFIG(release,debug|release) { message(Release) } CONFIG(debug,debug|release) { message(Debug) } 虽然这不是: CONFIG(release,debug|release) { message(Release) } CONFIG(debug,debug|release) { message(Debug) } 我怀疑这是qmake的几个版本中的解析错误,可能只在linux端. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |