Windows上のQT実行可能ファイルでアプリケーション情報を設定する
-
03-10-2019 - |
質問
QTからアプリケーション情報(つまり.exe->プロパティを右クリック)の設定に関するヒントがありますか?
QTリソースファイル(QRC)に任意のバージョン文字列を追加して表示できます。しかし、ほとんどのWindowsインストーラーはバージョン番号を確認すると、個別の.RCファイルを手動で維持する以外にこれらのフィールドを設定するQT方法が見つかりません
自動化されたビルドからこれを更新できるいくつかの方法もいいでしょう!
解決
私がそれを行う方法は次のとおりです...コンテンツを使用してプロジェクトにresources.rcというファイルを追加します。
IDI_ICON1 ICON DISCARDABLE "res/app.ico"
#include <windows.h>
#include "version.h"
VS_VERSION_INFO VERSIONINFO
FILEVERSION VER_FILEVERSION
PRODUCTVERSION VER_PRODUCTVERSION
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4"
BEGIN
VALUE "CompanyName", VER_COMPANYNAME_STR
VALUE "FileDescription", VER_FILEDESCRIPTION_STR
VALUE "FileVersion", VER_FILEVERSION_STR
VALUE "InternalName", VER_INTERNALNAME_STR
VALUE "LegalCopyright", VER_LEGALCOPYRIGHT_STR
VALUE "LegalTrademarks1", VER_LEGALTRADEMARKS1_STR
VALUE "LegalTrademarks2", VER_LEGALTRADEMARKS2_STR
VALUE "OriginalFilename", VER_ORIGINALFILENAME_STR
VALUE "ProductName", VER_PRODUCTNAME_STR
VALUE "ProductVersion", VER_PRODUCTVERSION_STR
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1252
END
END
コンテンツを持つversion.hというファイル:
#ifndef VERSION_H
#define VERSION_H
#define VER_FILEVERSION 1,0,0,0
#define VER_FILEVERSION_STR "1.0.0.0\0"
#define VER_PRODUCTVERSION 1,0,0,0
#define VER_PRODUCTVERSION_STR "1.0\0"
#define VER_COMPANYNAME_STR "Your Organization"
#define VER_FILEDESCRIPTION_STR "CoolApplication"
#define VER_INTERNALNAME_STR "CoolApplication"
#define VER_LEGALCOPYRIGHT_STR "Copyright © 2010 Your Organization"
#define VER_LEGALTRADEMARKS1_STR "All Rights Reserved"
#define VER_LEGALTRADEMARKS2_STR VER_LEGALTRADEMARKS1_STR
#define VER_ORIGINALFILENAME_STR "coolapplication.exe"
#define VER_PRODUCTNAME_STR "CoolApplication"
#define VER_COMPANYDOMAIN_STR "example.org"
#endif // VERSION_H
最後に.proファイルに、追加してください。 RC_FILE = resources.rc
. 。非ワインドプラットフォームは値を無視するので、あなたはそれをでプレフィックスする必要はありません win32:
.
他のヒント
さて、尋ねられてから2年後...しかし、誰かがそれが役に立つと思うかもしれません...
次のqmake変数を使用してみてください。
VERSION = 0.4.0.1
QMAKE_TARGET_COMPANY = company
QMAKE_TARGET_PRODUCT = product
QMAKE_TARGET_DESCRIPTION = description
QMAKE_TARGET_COPYRIGHT = copyright
より詳しい情報 ここ.
所属していません StackOverflow