我有幾個項目,其中都依賴於一個基本庫。現在,當我在這個基礎庫中更改頭文件時,我必須重建所有相關項目。目前Eclipse/CDT構建一個接一個的項目。我怎樣才能並行建立所有這些項目?如何建立使用Eclipse/CDT並行工程(不平行編譯!)
請注意,我已經使用了每個項目的-j(並行編譯)選項。但這是不夠的,因爲:
- 真的有很多CPU的可用的(大多數項目超過源文件)和
- 由於並行編譯鏈接需要多長於編譯和(以我的知識)不能使用多線程。
我有幾個項目,其中都依賴於一個基本庫。現在,當我在這個基礎庫中更改頭文件時,我必須重建所有相關項目。目前Eclipse/CDT構建一個接一個的項目。我怎樣才能並行建立所有這些項目?如何建立使用Eclipse/CDT並行工程(不平行編譯!)
請注意,我已經使用了每個項目的-j(並行編譯)選項。但這是不夠的,因爲:
我不認爲當前版本的Eclipse CDT可以並行構建項目,但是您可以通過構建多個二進制文件(庫和可執行文件)的Eclipse CDT Makefile項目實現相同的效果。
一個簡單的方法來產生這樣的項目是通過使用CMake與Eclipse CDT4 - Unix Makefiles發電機。然後,如果你指定/usr/bin/make -j<n>
作爲構建命令,其中n
是在項目屬性並行作業,它將在並行構建你的目標(而不僅僅是源文件)的數量。
我們從makefile文件忍者移動從日食管理建立向CMake用作發電機,然後(某些生成文件的魔力?) - 這兩項決定都顯着改善了建成時間 – kwesolowski 2014-12-27 17:02:47
項目屬性> C++編譯>行爲>啓用並行構建
http://xkcd.com/303/這是完美的藉口,爲什麼要改變呢? ;) – Xeo 2011-02-28 10:18:32
依賴於庫的所有項目是否可以依次爲虛擬項目創建依賴關係,然後可以並行構建這些項目?或者我在這裏錯過了什麼? – vpit3833 2011-02-28 10:30:05
@Xeo:不能!等待!不再! – Danvil 2011-02-28 13:34:27