http://www.qtcentre.org/wiki/index.php?title=Version_numbering_using_QMake
如果是日期和时间的话,为什么不直接在代码中使用 __DATE__ __TIME__ 的宏?
如果是SVN版本号的话,为什么不直接使用 svn:keywords 的 $Rev$
http://hi.baidu.com/cyrist/blog/item/396301b3b81bc7a0d9335a1d.html
把 __DATE__ 转换成 yyyymmdd 格式的字符串
const char * GetCompiledDate_yyyymmdd()
{
static char _buf[9] = {0};
if(_buf[0] == 0)
{
static const char * _month[] =
{
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec",
};
const char * _date = __DATE__;
//yyyy
memcpy(_buf, _date + 7, 4);
//dd
memcpy(_buf+6, _date + 4, 2);
if(_buf[6]==' ')
{
_buf[6] = '0';
}
//mm
int month = 0;
for(int i = 0; i < 12; i++)
{
if(memcmp(_month[i], _date, 3) == 0)
{
month = i+1;
break;
}
}
_buf[4] = month / 10 % 10 + '0';
_buf[5] = month % 10 + '0';
}
return _buf;
}