我想在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中的这个有什么想法吗?
最佳答案
您可以使用条件赋值(参见 Scopes and Contitions),例如。
win32:DISTRIBUTION = $$system(systeminfo | findstr /B /C:"OS Name")
unix:DISTRIBUTION = $$system(cat /etc/issue | cut -d\' \' -f1)
message($$DISTRIBUTION)
这样,代码将只在特定平台上执行。我提供的 Windows 命令不是你想要的,它会打印整个系统名称和版本,你将不得不以某种方式修改它。
关于linux - 如何在qmake中获取发行版名称和操作系统版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31332581/