如何告诉qmake不要创建文件夹?

莫吉尔

我想配置我的qmake,以便它使我的可执行文件进入./build/debug(或发行版)下。我已成功完成以下代码:

CONFIG(debug, debug|release) {
    DESTDIR = ./build/debug
    TARGET = mShareLibd
}

CONFIG(release, debug|release) {
    DESTDIR = ./build/release
    TARGET = mShareLib
}

除了qmake仍在项目的根目录中创建两个文件夹(即“ debug”和“ release”)的事实之外,一切工作正常-因此,我最终得到一个“ build”,一个“ debug”(始终为空)和一个“ release” “(始终为空)文件夹。

如何告诉qmake不要创建这两个文件夹?我在QtCentre论坛(这里是链接)中提出了这个问题,但是在我看来,所提供的方式似乎并不合理。有没有更合理的方法-例如只编写一个告诉“ qmake,不要创建此文件夹”的命令?

谢谢,

莫吉尔

EDIT Bill要求我在此处复制并粘贴我的.pro文件。这是恢复的版本(不包括大多数头文件和源文件)

#qmake defines
MSHARE_REPO = $${PWD}/..
MSHARE_COMMON = $${MSHARE_REPO}/Common
MSHARE_LIB = $${MSHARE_REPO}/mShareLib
MLOGGER = $${MSHARE_REPO}/../Classes/mLogger

#inclusion
QT += core gui network multimedia sql

qtHaveModule(printsupport): QT += printsupport
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

CONFIG += qwt
#CONFIG *= precompile_header
#PRECOMPILED_HEADER = stdafx.h
#HEADERS += stdafx.h

TARGET = mShare
TEMPLATE = app

VER_MAJ = 0
VER_MIN = 0
VER_PAT = 7
VERSION = $${VER_MAJ}.$${VER_MIN}.$${VER_PAT}

INCLUDEPATH += MSHARE_REPO \
               MSHARE_COMMON \
               C:\Qt\Qwt-6.1.0\include

LIBS += $${PWD}/SMTPEmail.dll

DEFINES += MGENERALDEFINES_GUI \
           MGENERALDEFINES_DEBUG \
           MGENERALDEFINES_GENERAL \
           QWT_INCLUDED \
           APP_VERSION=\\\"$$VERSION\\\"

win32 {
    LIBS += -lpsapi

    CONFIG(debug, debug|release) { #debug {
        LIBS += C:/Qt/Qwt-6.1.0/lib/qwtd.dll \
            $${MLOGGER}/build/debug/mLogger.dll \      #$${MLOGGER}/debug/mLoggerd.dll \
            $${MSHARE_LIB}/build/debug/mShareLibd.dll
        DEFINES += DEBUG
        DESTDIR = ./build/debug
    }

    CONFIG(release, debug|release) { #release {
        LIBS += C:/Qt/Qwt-6.1.0/lib/qwt.dll \
            $${MLOGGER}/build/release/mLogger.dll \
            $${MSHARE_LIB}/build/release/mShareLib.dll
        DEFINES += RELEASE \
               QT_NO_DEBUG \
               QT_NO_DEBUG_OUTPUT
        DESTDIR = ./build/release
    }
} # win32

#others
MOC_DIR     = $${DESTDIR}/.moc
OBJECTS_DIR = $${DESTDIR}/.obj
UI_DIR      = $${DESTDIR}/.ui
RCC_DIR     = $${DESTDIR}/.rcc

########################################################################

HEADERS  += AppDefines.hpp \
    mreadwrite.hpp \
    system/appbrain.hpp \
    ...

SOURCES += main.cpp \
    mreadwrite.cpp \
    system/appbrain.cpp \
    ...

FORMS += \
    interface/entracedialog.ui \
    interface/validationdialog.ui \
    ...

OTHER_FILES += Files/CandlePatternProbabilities.txt \
    Project_Files/Readme.txt \
    ...

RESOURCES += \
    Icons.qrc \
    Setups.qrc \
    GeneralFiles.qrc

RC_FILE = icone.rc

#TRANSLATIONS += DEFAULT_THEME_PATH/translations/app_pt.ts \
#                DEFAULT_THEME_PATH/translations/app_de.ts
奥雷利安

我想我已经通过查看QMake的源代码找到了解决方案:设置“ PRECOMPILED_DIR”变量。

它可以与Qt 5一起使用。由于QMake源代码变化不大,所以我认为它也可以与Qt 4一起使用。

CONFIG(debug, debug|release) {
    DESTDIR = ./build/debug
    PRECOMPILED_DIR = ./build/debug
    TARGET = mShareLibd
}

CONFIG(release, debug|release) {
    DESTDIR = ./build/release
    PRECOMPILED_DIR = ./build/release
    TARGET = mShareLib
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章