qmake“system”命令有时会返回空字符串而不是真正的响应

时间:2015-07-31 21:03:51

标签: macos qt qmake

我在Qt Creator解释的脚本中使用或者滥用了qmake的“系统”命令。作为示例命令

RESPONSE = $$system(ls)

将在OSX中使用工作目录的内容填充字符串列表RESPONSE。之后,可以在qmake中完成很多使用RESPONSE的字符串操作。

但是我注意到使用像“codesign”这样的Xcode实用程序有一个系统响应(如Qt Creator中的“编译窗口”所示),但响应没有被置于RESPONSE中。

有没有办法获得像qmake中的codesign这样的实用程序的响应?

1 个答案:

答案 0 :(得分:1)

这些实用程序输出到stderr,而不是stdout。您需要在shell包装器中运行它们,将stderr重定向到stdout,如bash -c 'codesign ... 2>&1'