gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 19:15:55 35 4
gpt4 key购买 nike

我想配置我的 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”(总是空的)和“发布”(始终为空)文件夹。

我如何告诉 qmake 不要创建这两个文件夹?我在 QtCentre 论坛上做了这个问题(here 是链接),但提供的方式在我看来并不合理。有没有更合理的方法——比如只写一个命令告诉“qmake,不要创建这个文件夹”?

谢谢,

莫吉尔

编辑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
}

关于qmake - 如何告诉 qmake 不要创建文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23970327/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com