我讀過的所有文章約,並沒有解決方案在Windows和Linux的作品。我當前的解決方案在Windows中工作得很好,如果不存在,則創建用於調試或發佈的相應目錄。如何使用qmake .pro文件更改調試/釋放輸出目錄。跨plataform
我想裏面其中一個文件夾創建我的所有目標文件(*的.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但沒有成功。創建調試目錄和所有目標文件被放在那裏,但是當我改變了編譯模式要釋放的文件繼續移動到調試目錄,版本目錄不創建的對象(我試圖再次運行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
thx!
我沒有你所說的話,我已經編輯我的帖子的結果。還有一個問題,我需要在bash中執行make install來獲得正確的結果?你知道我在QtCreator及其構建步驟中如何做到這一點? – MaikoID 2011-05-03 15:57:46
我已經用一種方法更新了我的答案,以便在QtCreator中將make install添加到構建過程中。 – jwernerny 2011-05-03 19:47:36
@MaikoID我在修改後的qmake文件中看到兩個問題。首先,您應該將「config_files._filename_」更改爲「config_files._files_」。第二個是INSTALLS行應該在定義config_files之後,而不是在之前。 – jwernerny 2011-05-03 19:49:30