2013-01-17 14 views
7

什麼是那些使用從GitHub克隆,並分別建立包d節目推薦的開發過程?d發展歷程

通常相對於C/C++項目是如何使用做,自動工具,cmake的建立等

其他大多數生成規範有一個安裝目標。如果有在構建一個安裝目標或要我們只是從那裏建成時,它是直接放在鏈接庫,並添加註冊其包括D_INCLUDE_PATH,然後使用DFLAGS=-I<D_INCLUDE_PATH>直接給他們?

+1

對於該問題+1。前段時間我也在找這個,也找不到任何東西。結束使用CMake爲我自己的項目和像'〜/ droot'手動安裝庫(因此這些庫位於〜/ droot/lib'中)並在CMake配置中指定此路徑。這遠非如此的舒適性。 Java及其Maven或Go與其「go get」。 –

+0

有沒有人試過用D搖? http://community.haskell.org/~ndm/shake/ – Arlen

回答

2

我意識到我的評論實際上是一個問題的答案,所以這裏是:

d發展過程中不能超過C或C++世界同類不同。這真的很難看嗎?幾乎所有的C和C++編譯器都會生成「本機」代碼。 D也不例外。有可能面向.NET的D.NET項目,但它不活躍的一年。

此外,在C/C++基礎的項目使用的所有工具,可以很容易地用於其他任何東西。 CMake也可以用於Java或.NET項目。製作和/或自動工具也一樣。爲什麼Maven和Ant在Java世界更受歡迎是另一回事。

談到他們,你可以在d開發過程中使用Maven或螞蟻!接下來,您需要編寫自己的Maven插件,以使其更加簡單和靈活,但它是可行的,並且實際上將是一個非常好的項目。

從我所看到的,d程序員堅持好,舊作,或寫bash腳本做這件事。不過,我見過Lycus基金會的人使用WAF。如果你是Python程序員,你會愛上WAF。如果沒有,嘗試類似的東西 - 我見過人們使用SCons,Remake,Premake等...

DSSS+Rebuild是最接近於用D製作的非常有用的工具。不幸的是,它們是死的項目。 :(

我工作的一個Maven風格的工具,但考慮到我的時間量 - 這將是可用在2014年:)

+1

實際上,D構建過程與C \ C++非常不同。 C \ C++使用頭文件,並且只需要重新編譯一個實現文件,如果其中一個頭文件被「包含」改變了,如果其中一個頭文件包含在頭文件中包括該文件等。如果您在實施文件中進行更改,則只需重新編譯該文件。 D是不同的 - API和實現在同一個文件中,而D嚴重依賴於模板元編程,所以如果你改變了某些東西,你必須重新編譯所有東西。這使增量構建成爲不可能。 –

+0

@IdanArye:好評。這是我問的主要原因。傳統的構建工具很多都是手動指定依賴關係。D構建過程並非總是如此。例如,在使用DMD時,您可以生成D接口文件(.di)來加快速度,但您不必這樣做。 –

+0

我同意伊丹,但我不想進入這樣的細節。畢竟這個問題不是關於那些,而是關於整個生命週期,如果我沒有弄錯的話。 :) – DejanLekic