【发布时间】:2011-08-15 15:08:39
【问题描述】:
我已经阅读了所有关于它的帖子,但没有一个解决方案适用于 windows 和 linux。我当前的解决方案在 Windows 中运行良好,创建(如果不存在)用于调试或发布的相应目录。
我想在这些文件夹之一中创建我的所有目标文件 (*.o)。在 Windows 中,我在 linux 中实现了这一点,我的 DESTDIR 变量为空。 =|
TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
# Input
HEADERS += Config.h \
keyboard.h \
keyboardgui.h \
keyboardkey.h \
Log.h \
main.h \
mainwindow.h \
Settings.h
FORMS += mainwindow.ui
SOURCES += Config.cpp \
keyboard.cpp \
keyboardgui.cpp \
keyboardkey.cpp \
Log.cpp \
main.cpp \
mainwindow.cpp
RESOURCES += Resources.qrc
OTHER_FILES += \
default_layout.kl
# se for Windows
win32 {
# inclui a lib para acessar o DMI
LIBS += -lqaxcontainer
}
# Habilita a opcao de copia de diretorios
CONFIG += copy_dir_files
Debug:DESTDIR = debug
Release:DESTDIR = release
# copia a pasta configuracao para o diretorio de saida
win32 {
QMAKE_POST_LINK += copy /Y default_layout.kl $$DESTDIR
}
else {
QMAKE_POST_LINK += cp -a default_layout.kl $$DESTDIR
}
我尝试使用 INSTALL var 但没有成功。已创建调试目录并将所有目标文件放在那里,但是当我将编译模式更改为 RELEASE 时,目标文件继续移动到调试目录并且未创建 RELEASE 目录(我已尝试再次运行 qmake) .在这两种配置中,我的文件(default_layout 和 layout)都不会复制到输出目录。
# Habilita a opcao de copia de diretorios
CONFIG += copy_dir_files
release:DESTDIR = release
release:OBJECTS_DIR = release/
release:MOC_DIR = release/
release:RCC_DIR = release/
release:UI_DIR = release/
debug:DESTDIR = debug
debug:OBJECTS_DIR = debug/
debug:MOC_DIR = debug/
debug:RCC_DIR = debug/
debug:UI_DIR = debug/
INSTALLS += config_files
config_files.path = $$DESTDIR
config_files.filename = default_layout.kl
config_files.filename += layout.kl
谢谢!
【问题讨论】:
-
现在已经过了这么多时间,可能会被标记为骗子:How to specify different Debug/Release output directories in QMake .pro file
标签: qt cross-platform qmake