Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Ввод/Вывод, Сеть. Межпроцессное взаимодействие _ чтение результата выполнения команды

Автор: KuvshinoF 27.4.2021, 13:44

Задача программно прочитать результат выполнения команды
svn info | grep -o ^URL.*
Команда рабочая (в терминале), но например QProcess такую команду вообще видимо отказывается выполнять (readyReadStandardOutput не срабатывает, только на команду "svn info" работает, но этого мало). Так как же можно программно узнать результат выполнения такой команды?

Автор: KuvshinoF 27.4.2021, 18:40

Этот вопрос решил, но оказалось, что мне по-другому надо выполнить эту команду:
В pro-файле:

COMMAND=$$system(svn info | grep ^URL)
DEFINES+=REVISION=$$COMMAND


вопрос в том как программно прочитать такое значение REVISION (просто вывести в консоль или записать в строку)?
просто
qDebug() << REVISION;

не работает, REVISION was not declared in this scope, при наведении мыши на REVISION пишет "#define REVISION видимо_часть_выполнения_команды_system"

Автор: Litkevich Yuriy 4.8.2021, 7:08

Я с git-ом делаю так (через промежуточную переменную UNAME_TMP ):

Раскрывающийся текст

# нужно запросить у git-а текущий SHA1
UNAME = $$system(git -C $$_PRO_FILE_PWD_ rev-parse HEAD)
message(GITVERSION = $${UNAME})
isEmpty(UNAME){
error (Git Version is HARDCODED but is Empty)
}else{
UNAME_TMP = '\\"$${UNAME}\\"'
DEFINES += GIT_SHA_VERSION=\"$${UNAME_TMP}\"
}


Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)