使用带有子目录的 qtcreator 和 qmake 构建发布和调试配置

问题描述

我有一个根 qmake 项目文件,用于构建多个库。根据 de 配置,生成的库应该放在我的开发系统上的“发布”或“调试”目录中。顶层项目是common.pro:

TEMPLATE = subdirs

CONfig += ordered

SUBDirs += \
        ..\apu\apu_a.pro        \
        ..\apu\apu_w.pro        \
        ..\apu\apu_wp.pro   \
        ..\apu\apu_rsrc_nl.pro  \
        ..\bugfix\bugfix.pro    \
        ..\ctrl_lib\ctrl_a.pro  \
        ..\ctrl_lib\ctrl_w.pro  \
        ..\dbutil\dbutil.pro

每个子目录项目都以相同的方式构建。例如 apu_a.pro:

!include(apu.pri) {
    error("apu.pri is missing")
}

DEFInes -= _UNICODE UNICODE

SOURCES += src\sort_dlg.c   \
           src\kolom_dlg.c  \
           src\misc.c  

TARGET = apu_a

!include(..\interface\build\common_lib.pri) {
    error("common_lib.pri is missing")
}

qmake 包含文件 apu.pri:

!include(..\interface\build\common_cpp.pri) {
    error("common_cpp.pri is missing")
}

CONfig -= qt
CONfig += staticlib

INCLUDEPATH += statisch ..\interface src

qmake 包含文件 common_cpp.pri:

CONfig += c++11
#
#    This works only for gnu compiler
#
#QMAKE_CFLAGS += -x c++ -std=c++0x
QMAKE_CFLAGS += /TP /Zc:strictStrings- /EHsc
#QMAKE_CFLAGS += /W3 /we4013 /we4530 /wd4996 /we4477
DEFInes += __NO_precompiled_HEADERS__

qmake 包含文件 common_lib.pri:

TEMPLATE = lib

OBJECTS_DIR = $$TARGET

CONfig(debug,debug|release) {
        DESTDIR = ..\interface\libs_debug\msc
        OBJECTS_DIR = $$TARGET"d"
}
CONfig(release,debug|release) {
        DESTDIR=..\interface\libs\msc
}

我希望在“..\interface\libs_debug\msc”中有用于“调试”配置的库,在 ..\interface\libs\msc 中有用于“发布”配置的库。如果我选择 qtcreator 窗口左下角的调试配置,库构建结束于 .\interface\libs\msc.我该如何解决

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)