Команда qmake "system" иногда возвращает пустую строку, а не реальный ответ
Я часто использую или, возможно, злоупотребляю "системной" командой qmake в сценариях, интерпретируемых Qt Creator. В качестве примера команда
RESPONSE = $$system(ls)
будет в OSX заполнять список строк RESPONSE содержимым рабочего каталога. После этого в qmake можно выполнить много операций со строками с помощью RESPONSE.
Однако я заметил, что с такими утилитами XCode, как "CodeSign", существует системный ответ (как показано в "Окне компиляции" в Qt Creator), но этот ответ не помещается в RESPONSE.
Есть ли способ получить ответ от таких утилит, как codeign внутри qmake?
1 ответ
Решение
Эти утилиты выводят в stderr, а не в stdout. Вам нужно будет запустить их в оболочке оболочки, которая перенаправляет stderr в stdout, например bash -c 'codesign ... 2>&1'