考虑到这一点:http://www.openguru.com/2009/11/qt-best-way-to-set-application-version.html
我在我目前正在运行的Qt项目的 .pro 文件中添加了VERSION = 1.0
在Ubuntu 12.04.4 LTS
上使用桌面环境LXDE
。
清理,qmaked,再次建立,但现在的问题是如何 查看 版本信息。
当我右键单击可执行文件时,我只能看到以下字段:
类型,大小,位置,MIME类型,已修改,所有者,部分内容,权限
如何查看版本信息?
答案 0 :(得分:8)
从Linux系统上的应用程序获取版本信息没有标准方法。通常会为此提供--version
命令行开关。但是没有freedesktop.org标准可以提供更具描述性的版本信息。 .desktop
文件不包含此类信息 - 版本是文件格式版本,而不是应用程序版本。
所以你所寻求的只是没有实现。但是如果--version
是一个足够的界面,那么这就是人们可以做到的。
您的.pro
文件需要包含版本设置并将版本传递给C / C ++编译器:
VERSION = 1.0.0
DEFINES += VERSION_STRING=\\\"$${VERSION}\\\"
然后可以通过传递--version
参数从命令行显示该版本。您可以利用自Qt 5.2以来可用的命令行解析器:
#include <QCoreApplication>
#include <QCommandLineParser>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
a.setApplicationName("version-cmd");
a.setApplicationVersion(VERSION_STRING);
QCommandLineParser parser;
parser.addVersionOption();
parser.process(a);
return a.exec();
}
输出:
$ version-cmd --version
version-cmd 1.0.0
$
如果你不使用至少Qt 5.2,那么检查是否a.args().contains("--version")
并对其采取行动就很容易了。
答案 1 :(得分:0)
您可以添加命令行开关--version来获取应用程序版本
答案 2 :(得分:0)
现在很明显,在recognized desktop entry keys的www.freedesktop.org中没有显示选项列表的显式版本,但它们确实有其他字段可用于保存版本信息。
其中一个字段是 GenericName 该字段在GNOME桌面环境中列为 描述 。
因此,如果我在此字段中添加版本信息,如下所示:
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=excuse
Name[en_IN]=excuse
Exec=/usr/bin/bc
Comment[en_IN]=asdsadsad
StartupNotify=true
GenericName[en_IN]=Version 12.3
Icon=/usr/share/lxpanel/images/capslock-off.png
右键单击显示如下:
因此,简而言之,我们可以选择将可执行文件存储在存储普通Linux可执行文件的/usr/bin/
中,然后在桌面或其他位置创建其快捷方式。
然后我们将能够右键单击此快捷方式并获取版本信息。