linux – Qt Creator CONFIG(调试,发布)开关不起作用

前端之家收集整理的这篇文章主要介绍了linux – Qt Creator CONFIG(调试,发布)开关不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
问题:总是在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配置的任何问题,而且工作正常.
我是绝望和修改.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端.

原文链接:https://www.f2er.com/linux/394556.html

猜你在找的Linux相关文章