2017-03-03 60 views
1

我們有一些較小的庫,我們經常在較大的項目中使用它。使用沒有Qt開銷的qmake?

我們仍然編譯並運行這些小型庫的單元測試作爲獨立的CI作業。

大部分這些庫的使用QMAKE作爲buildtool,不以任何方式使用Qt。我們開始將CI-Jobs移入碼頭集裝箱。現在我意識到我必須得到qt5-default(在Ubuntu 16上)以使qmake正常工作。這是打算?這給了相當大的開銷。有沒有人知道一種方法,在Ubuntu 16上使用qmake,而不需要在板上安裝Qt?

+1

'qmake'是'qt5-qmake'的一部分。由於'qmake'用於構建Qt本身,它應該能夠在沒有'qt5-default'的情況下工作。一定要在你的pro文件中有'CONFIG - = qt'。如果你已經嘗試過了,你可以告訴當你沒有安裝'qt5-default'時什麼都行不通,你有沒有錯誤信息? –

回答

1

你實際上並不需要爲qmake安裝Qt才能工作。爲什麼你需要qt5-default的原因是,大多數Linux發行版同時提供QT5以及Qt4,它們具有相同的二進制文件,例如它們都具有一個版本的qmake,這都得到安裝/usr/bin。爲了解決這個問題QT5安裝到/usr/lib/.../qt5以及Qt4到/usr/lib/.../qt4qt5-default包創建從有到/usr/bin

對於Ubuntu的符號鏈接,...x86_64-linux-gnu

您可以選擇之間:

  1. 在泊塢窗的容器,僅安裝qt5-qmake包並創建符號鏈接/usr/bin/qmake - >/usr/lib/.../qt5 *
  2. 構建軟件時指定的qmake的二進制文件的完整路徑,您{特拉維斯,gitlab,詹​​金斯} CI配置裏面
  3. 添加/usr/lib/.../qt5/bin$PATH

*手動創建符號鏈接的適當位置實際上是/usr/local/bin,因爲如果您在/usr/bin中具有符號鏈接,則安裝qt5-default程序包將失敗,因爲符號鏈接qt5-default想要創建的符號鏈接已經存在。但是,你在泊塢窗容器中,可以實際控制qt5-default是否被安裝,如果你在/usr/local/bin創建符號鏈接,你必須確保添加/usr/local/bin$PATH,這是矯枉過正的有關該方案。