2013-03-29 123 views
0

假設我們有一個非C/C++語言的項目,其中包含大量源文件。我們如何使用make或類似的工具從命令行編譯這一堆?它應該只編譯項目目錄中的每個源文件並從中創建一個可執行文件。聽起來不太難,但我似乎無法找到一個簡單的答案。從CLI編譯非C/C++項目跨平臺

+1

你有什麼試過?畢竟,這是一個簡單的三線程,如果你顯示你的特定代碼並且準確地說出它的輸出有什麼問題,我們會更好地理解你的問題。 – thiton

+0

我目前正在編寫C#,並在'生成文件模板C#'和東西上搜索,但沒有找到任何東西。你提到的那個3班輪是什麼? –

回答

1

您能更具體地瞭解您需要編譯的語言和平臺嗎?

不同語言/平臺的編譯過程不同。例如,你可能不希望使用make編譯東西用Java編寫的: Why is no one using make for Java? (至少不是以同樣的方式爲C++)

+0

這解釋了一下。有用的文章!所以實際上編譯程序本質上是語言特定的。這意味着我應該閱讀爲C#編寫項目文件。 –

+0

語言特定,編譯器特定,操作系統特定... – maditya

1

make S模式的規則是相當強大的。假設你要建立的程序abc從C#源文件a.csb.csc.cs,Makefile文件看起來像:

all : a.exe b.exe c.exe 

%.exe : %.cs 
    csc.exe /out:[email protected] $^ 

文件中的第一條規則告訴make做什麼。按慣例命名爲all。第二條規則是通過調用下一行給出的編譯器來定義以.exe結尾的文件名如何以.cs結尾的相同名稱作爲模板。請記住在最後一行前放置一個標籤。

$^[email protected]是自動變量,分別表示「目標名稱」和「所有先決條件」。