我想在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有什么想法吗?
答案 0 :(得分:1)
您可以使用条件分配(参见Scopes and Contitions)ex。
win32:DISTRIBUTION = $$system(systeminfo | findstr /B /C:"OS Name")
unix:DISTRIBUTION = $$system(cat /etc/issue | cut -d\' \' -f1)
message($$DISTRIBUTION)
这样,代码只能在特定平台上执行。我提供的Windows命令不是你想要的,它用版本打印整个系统名称,你必须以某种方式修改它。