11
のバージョンを追加し、私はそのようなアプリケーションのバージョンを設定することができます。Qt。自動的<code>.pro</code>ファイルでアプリケーション
VERSION = <some version>
(例えばMercurialのからの値取得)、自動的にこれを行う方法はありますか?
のバージョンを追加し、私はそのようなアプリケーションのバージョンを設定することができます。Qt。自動的<code>.pro</code>ファイルでアプリケーション
VERSION = <some version>
(例えばMercurialのからの値取得)、自動的にこれを行う方法はありますか?
シェルコマンドからバージョンを取得できる場合は、それを$$system
qmake関数の変数に割り当てることができます。
VERSION = $$system(hg parents --template '{rev}')
のみコミットされていない変更せずにその番号が印刷されます:あなたはバージョンとしてローカルのリビジョン番号を使用している場合
# if the version tag is <major version>.<minor version>
VERSION = $$system(hg parents --template '{latesttag}.{latesttagdistance}')
# or if you fill all 3 positions manually: <major>.<minor>.<patchset>
VERSION = $$system(hg parents --template '{latesttag}')
をまたは:
ので、水銀のために、あなたが試みることができますインジケータ( '+')。
ありがとうございました。しかし、より簡単なソリューションが存在します。 $$ system($$(PWD)/ hg id -n)を使用することができます。この場合、リポジトリのバージョン番号が返されます。しかし問題は、水銀が記号 "+"で数字を返すことができるということです。これはバージョン番号の無効な文字です。 – Milovidov
@Milovidovあなたは 'replace 'の助けを借りて' + 'を取り除くことができます:' VERSION = $$ replace(VERSION、 "+"、 "") ' – Bill
@Bill、dont'work。シンボル「+」は置き換えられません。 – Milovidov