2012-02-21 20 views
20

在我的Qt項目中,我試圖將庫作爲構建過程的一部分進行復制。目標是在構建完所有必要的動態庫後進行現成的分發。如何指定輸入QMake INSTALLS變量?

這似乎acheivable與安裝可變的,但我發現文檔有點薄: qmake Variable Reference: INSTALLS

在這個例子中給出:

  • 已定義target,或者是通過寫target.path =界定?
  • 可能會員的文件在哪裏? .path和......?
+0

看起來像'target'是在這個例子中定義的。 makefile中的輸出是'install_target'的定義。有一些與引用變量有關的錯誤。 – 2012-02-21 13:24:50

回答

22

是的,文檔有很多需要在這裏。

target已被定義,但這是一個特例。您可以定義您自己的其他部署集。下面是我們如何指定圖像格式插件:

imageformats.path = /opt/some/path/bin/imageformats 
imageformats.files += $$[QT_INSTALL_DATA]/plugins/imageformats/*.so 
INSTALLS += imageformats 

這裏是關於三個命令的最小文檔:http://doc.qt.io/qt-4.8/qmake-environment-reference.html#installs

yourset.path = /path/in/which/to/install/files 
yourset.files = /files/to/install 
yourset.extra = custom commands to run, eg. `touch somefile.txt` 
INSTALLS += yourset 
9

target是你想使用的任何字符串。這是你自己的標識符。

target.files定義了您想要安裝的內容。

target.path是你想要把target.files英寸

例如,假設我有一個名爲「config.xml的」,我想複製到目錄「XYZZY」文件的位置(目錄)。我將在我的qmake .pro文件中使用以下內容來指定。

my_file.files = config.xml 
my_file.path = xyzzy 

INSTALLS += my_file 

BTW,真正使文件副本,你將不得不執行make install

你也可以找到有助於理解的答案:Copy a file to build directory

+0

感謝您的鏈接。是'%{buildDir}'有效的語法或者只是爲了說明。我嘗試過,但在Qt Creator中,表達式從未被評估:( – 2012-02-21 13:53:17

+0

@eriktheblond鏈接中的示例假定'buildDir'已經在qmake.pro文件中的某個地方定義了(即'buildDir = a/b/c') – jwernerny 2012-02-21 14:41:56

+0

@jwernerny除了目標以外的好的答案實際上是一個「內置的」並且有點特別,而不是你想要使用的任何東西,它與目標相關,參見https://qt-project.org/doc/qt- 4.8/qmake-environment-reference.html#installs。 – spinkus 2014-07-05 03:02:57