2009-06-27 87 views
20

我們有一個相當大的C/C++項目,使用scons作爲建築物。我想嘗試通過Eclipse-CDT來構建它。任何人都有這方面的經驗,並可以告訴我建立scons作爲一個建設者的步驟。 (不使用SConsBuilder插件,它不適用於Fedora-11的Eclipse-CDT)。如何使用Eclipse CDT構建SCons項目?

回答

11

我已經試過Waf in Eclipse CDT之前,SCons會非常相似。解決方案是創建一個空的Makefile項目,然後在選項中將「make」更改爲「scons」。在Windows上,可能需要您的路徑中的scons.bat文件。這並不比創建一個虛擬Makefile文件有all:\n\tscons類型模式好得多,但它是最少的工作。

SConsBuilder plugin不是一個好主意。它有一堆硬編碼的python代碼,它會吐出到SConstruct。它的年齡並未更新,現在許多代碼在SCons中可能已棄用。我認爲更好的方法是執行SCons爲Visual Studio做的事情,或者CMake爲Eclipse CDT做的事情。這意味着根據您的構建配置即時生成.cproject文件。

我在一個地方寫了一個Eclipse project generator for Waf,這個版本讓構建節點收集源文件並吐出一個.project和.cproject文件。與CMake的做法類似,但Waf創建變體目錄的默認行爲意味着您不必處理源外構建問題。這已被添加爲extra in waf itself。它僅使用Waf API的一部分,因此可以用一些小小的工作將其轉換爲SCons。換句話說,那裏沒有什麼東西。 .cproject格式沒有真正記錄在任何地方,並且與Java版本相比真的很難看。

雖然我對CDT沒有太滿意,但它仍然是Java開發工具背後的一個很長的路要走,我仍然使用Vim與:make,所以它最終都有點學術。

14

您可以使用一個Makefile只是代表的重要指標給SCons

.PHONY: all clean install 
default: all 
all:  
    scons 
clean: 
    scons -c 
install: 
    scons install 

則可以使用「標準使C計劃」開箱即用。

16

我們的一個學生爲Eclipse CDT實現了一個新的SCons集成,它可以雙向工作,即它可以導入SCons文件並使用相應的設置填充Eclipse CDT項目,並且可以從Eclipse項目設置生成SCons文件。此外,它還提供了一個交互式SCons模式,可以顯着提高增量構建大型SCons項目的速度。它將很快向公衆免費發佈,請參閱http://sconsolidator.com

+1

哇,這看起來不錯。榮譽給你的學生。 – supertux 2011-08-22 21:15:58

+0

我投票贊成,因爲我使用了sconsolidator,它的工作原理。唯一的警告是它是封閉的來源。除非它是開源的,否則我沒有看到它被廣泛使用。 – 2013-02-16 16:39:43

4

只需更改生成器設置,不需要插件。選擇外部構建器並設置scons而不是make,並將workdir設置爲SConstruct放置的目錄。

現在,您可以使用make targets視圖來創建scons構建命令並像make命令一樣執行它。具有scons的錯誤解析器默認工作正常,不需要額外的配置。

0

非常非常小心使用Sconsolidator與現有的項目!當您單擊鏈接將SCons屬性添加到項目時,它會盲目地覆蓋您項目根目錄中的任何現有SConstruct/SConscript文件。 (我想這個報告作爲項目中的bug,但動輒被封鎖爲止。)

相關問題