用VC做的程序加个插件就可以实现,在linux下其实也很简单。
第一步:为工程添加一个文件 version.h
里面写成 char ver[] = "build xxxx 2009-00-00 00:00:00";
只写这么多,再让某个.cpp,包含这个h文件,如 about.cpp
第二步:
硬盘上建立一个version文件,里面写成0000
第三步:
做CalculVersion程序,功能是
读取version的数据,读后修改version文件,让里面的数据++
读取当前时间
修改工程的version.h,替换其中的字符串
system ( "rm -f about.o" );
system ( cmd_str );
这里cmd_str实际类似 g++ -c about.cpp -o about.o
其中g++和-c通过main的参数传递进来,后面的内容根据工程路径写就行了。
第四步:
修改maikefile,假设原来的makefile形如:
ALL: a.o b.o
$(CC) - o $@ $^
a.0: a.cpp a.h
$(CC) $(CFLAGS) $< -o $
b.0: b.cpp b.h
$(CC) $(CFLAGS) $< -o $
在最后一步连接的时候,再让他执行外挂程序CalculVersion
ALL: a.o b.o
@./CalculVersion $(CC) $(CFLAGS)
$(CC) - o $@ $^