linux程式編譯期加入編譯時間和svn版本號
阿新 • • 發佈:2019-01-26
通常我們在程式開發時會加入版本查詢命令,如:“-v”,此時一般會顯示build版本,以及build日期等,因此如果每次編譯時能自動新增這些資訊的話,就非常方便了。
下面先說說新增時間的方法:
1.最簡單方式,程式碼中直接加入巨集
- __TIME__和__DATE__
2.有點繞不實用,在Makefile中定義一個變數
- CT="\"`date '+%Y-%m-%d %H:%M:%S'`"\"
而後在編譯命令列中加入巨集
- -DCT=$(CT)
接下來可以在程式碼中列印
3.另外還可以用指令碼把日期輸出到一個檔案裡
- #!/bin/sh
- Version=1.0
- Time=\"$(date '+%Y-%m-%d %H:%M:%S')\"
- Output="#define BUILD_TIMER $Time\n#define BUILD_VERSION $Version"
- echo "$Output" > version.h
再接下來介紹下獲取svn版本的方法:
1.在Makefile中定義一個變數
- REV=`svn info | grep Revision | awk '{print $2}'`
- #或者
-
REV=`svn info | grep Revision | cut -d " "
- REV=`svnversion ../../`
- -DREV=$(REV)
大功告成,程式碼中列印吧