【问题标题】:How to get distribution name and version of OS in qmake如何在 qmake 中获取操作系统的发行版名称和版本
【发布时间】:2024-10-05 00:30:01
【问题描述】:

我想在 qmake 中获取操作系统的发行版名称和版本名称。对于 Linux,在某些发行版(Debian、Ubuntu、CentOS、...)中,我使用了:

DISTRIBUTION = $$system(cat /etc/issue | cut -d\' \' -f1)
message($$DISTRIBUTION)
OSVERSION = $$system(cat /etc/issue | cut -d\' \' -f3)
message($$OSVERSION)

在我的 Debian 7.8 上,输出是:

Project MESSAGE: Debian
Project MESSAGE: 7

这是一个正确的结果。但我不确定这种方式。 我也在寻找 Windows:Windows 7、8、...

你对 qmake 有什么想法吗?

【问题讨论】:

    标签: linux windows qt debian qmake


    【解决方案1】:

    您可以使用条件赋值(参见Scopes and Contitions)例如。

    win32:DISTRIBUTION = $$system(systeminfo | findstr /B /C:"OS Name")
    unix:DISTRIBUTION = $$system(cat /etc/issue | cut -d\' \' -f1)
    message($$DISTRIBUTION)
    

    这样,代码将仅在特定平台上执行。我提供的 Windows 命令不是您想要的,它会打印带有版本的整个系统名称,您必须以某种方式对其进行修改。

    【讨论】: