在程序中獲取編譯時SVN的版本號

程序中一般會加入程序的版本信息,用“-v”來查看。

有時候還會加入編譯時間,這個比較好實現,使用__TIME__和__DATE__宏就可以了,程序的大版本號一般都是手動寫的。

出於某種需要,我希望在程序中獲取到編譯時svn的版本號,查了寫資料,有說用svn prop來做的,也有說用svn hook來做的,我覺得這個太複雜,而且是在每次提交都做修改,沒必要。

於是乎,我想到也用宏來做。

gcc裏可以用“-D”來定義宏,用它來定義一個宏,值爲svn版本號就好了。

-DSVN=xxxx

xxxx怎麼獲取呢?svn info裏就有了,弄出來就行了

svn info | grep Revision | cut -d " " -f 2

然後

-DSVN=·svn info | grep Revision | cut -d " " -f 2·

把它加到Makefile.am裏去,搞定。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章