前提
使用svn管理代码
思路
由于要发布新的版本,一般的版本号又就是SVN的流水号,所以要得到SVN的最新流水号写到代码的一个文件里,再在编译代码的时候把这个文件编译进去就行了。
安装svn客户端
sudo apt-get install subversion
下载源码
sudo svn co https://192.168.38.203/svn/Projects/xxxxx ./
出现如下错误:
svn: The path ‘.’ appears to be part of a Subversion 1.7 or greater working copy.
原因: 原来有隐藏文件.svn,要把它删掉
新建脚本
#!/bin/bash
rm moc*
rm src/xxx/xxxx/version.h
svn update
svnv=`svnversion -c ./ |sed 's/^.*://' |sed 's/[A-Z]*$//'`
echo $svnv
sed -i s/-1/$svnv/ src/xxx/xxxx/version.h
/usr/local/Qt-5.4.0/bin/qmake app.pro
make
前置条件
新建一个头文件 version.h 内容如下:
#define SOFT_WARE_VER ("-1")
代码里再使用这一个宏就OK了