linux Qt 版本自动发布

前提

使用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了

你可能感兴趣的:(Qt)