我正在尝试在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)构建我的项目时,它会使用具有相同名称的目标文件覆盖已生成的目标文件。我哪里出错了?
答案 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
}