2016-03-03 67 views
0

我正在使用爲某些MCU構建C代碼的LPCXpresso(Eclipse)。 是否有一些神奇功能(插件),我可以用它來自動遞增定義?eclipse,c,自動增量構建號碼定義

#define BUILD_NUMBER  1252  // auto increment at each build 

幾年前,我寫了一些簡單的高管做的是對舊的IDE(預生成事件),但有可能是一個簡單的解決方案了。

謝謝你在前進,

+0

你幾年前的解決方案或多或少是這個目的的「標準」解決方案。除了'BUILD_NUMBER'定義之外,您可能還想使用'__DATE__'定義和'__TIME__'定義。 –

+0

我知道巴拉克,我花了幾個小時纔得到CodeBlocks,建立一些解析一些定義和修改它的exe。但我問,因爲Eclipse是如此成熟的IDE(具有數百萬個功能,我從不需要),並且我認爲必須有一個功能或其他功能。即使VS有這個很容易。 – user1797147

回答

1

可以將此用來存儲你的版本號,並在通過的makefile構建前階段創建一個頭,如:

@id=`cat .build_id`; id=$$[id+1]; printf "#define BUILD_NUMBER\t\t0x%08X\n" $$id >> [email protected]; echo "$$id" > .build_id 

您還可以添加日期和時間,例如:

@printf "#define BUILD_DATE\t\t0x%04X%02X%02X\n" `date +"%-Y %-m %-d"` >> [email protected]; 
@printf "#define BUILD_TIME\t\t0x%02X%02X%02X\n" `date +"%-H %-M %-S"` >> [email protected]; 
+0

我認爲是這樣(make),但是我使用項目生成的自動make文件。 我可以通過不改變最初的make文件來使用你的提示嗎? 預先感謝您, – user1797147

+0

@ user1797147您是否在談論autotools項目? – LPs

+0

我猜不行,我在Windows上使用Eclipse,由微控制器製造商(恩智浦)定製,稱爲LPCXpresso。這是一個標準的C生成項目,其中make文件由IDE自動生成。 – user1797147