2015-07-10 9 views
1

Я хочу получить имя дистрибутива и имя версии ОС в qmake. Для Linux, в некоторых дистрибутивах (Debian, Ubuntu, CentOS, ...), я использовал:Как получить имя и версию ОС в qmake

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?

ответ

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, которую я предоставил, не тот, который вам нужен, он печатает полное имя системы с версией, вам придется каким-то образом изменить ее.

+0

Возможно, я нашел альтернативу дорогостоящему вызову systeminfo под окнами на этом сайте: http://www.windows-commandline.com/find-windows-os-version-from-command/ Эта команда производит эквивалент строка для тестирования: 'wmic os get Caption, CSDVersion/value' – tomy

 Смежные вопросы

  • Нет связанных вопросов^_^