debug_and_release选项不适用于linux

时间:2014-02-05 06:57:53

标签: linux qt qmake

我正在尝试在Linux OS(Ubuntu 13.10)下的调试和发布模式下构建我的qt-plugin,但在我看来qmake忽略了 CONFIG + = debug_and_release 选项。我也尝试使用 CONFIG + = build_all ,但它无效。当我在Windows上使用相同的选项时,Qt生成了两个输出文件(例如 plugin.a plugind.a ),但在Linux上我只得到其中一个。当我强制QtCreator以反向模式(debug而不是relesae)构建我的项目时,它会使用具有相同名称的目标文件覆盖已生成的目标文件。我哪里出错了?

1 个答案:

答案 0 :(得分:2)

问题可能是你的.pro文件中应该设置不同的目标目录或不同的目标文件名。我不知道为什么,但在Windows上看起来像Makefile中生成的目标文件名是不同的,在Linux上它们并没有什么不同。您可以尝试更改目标目录或目标文件名以进行调试构建。 尝试

CONFIG(release, debug|release) {
    TARGET = plugin
} else {
    TARGET = plugind
}

CONFIG(release, debug|release) {
    DESTDIR = release
    OBJECTS_DIR = release/.obj
    MOC_DIR = release/.moc
    RCC_DIR = release/.rcc
    UI_DIR = release/.ui
} else {
    DESTDIR = debug
    OBJECTS_DIR = debug/.obj
    MOC_DIR = debug/.moc
    RCC_DIR = debug/.rcc
    UI_DIR = debug/.ui
}