qmake "system" command sometime returns empty string rather than the real response
qmake "system" command sometime returns empty string rather than the real response
我在 Qt Creator 解释的脚本中经常使用或滥用 qmake 的 "system" 命令。例如命令
RESPONSE = $$system(ls)
将在 OSX 中用工作目录的内容填充字符串列表 RESPONSE。之后,可以在 qmake 中使用 RESPONSE 进行大量字符串操作。
但是我注意到使用 Xcode 实用程序如 "codesign" 有系统响应(如 Qt Creator 中的 "Compile Window" 所示)但响应未放入 RESPONSE .
有没有办法在 qmake 中获取诸如 codesign 之类的实用程序的响应?
这些实用程序输出到 stderr,而不是 stdout。您需要 运行 它们在 shell 包装器中,将 stderr 重定向到 stdout,例如 bash -c 'codesign ... 2>&1'
我在 Qt Creator 解释的脚本中经常使用或滥用 qmake 的 "system" 命令。例如命令
RESPONSE = $$system(ls)
将在 OSX 中用工作目录的内容填充字符串列表 RESPONSE。之后,可以在 qmake 中使用 RESPONSE 进行大量字符串操作。
但是我注意到使用 Xcode 实用程序如 "codesign" 有系统响应(如 Qt Creator 中的 "Compile Window" 所示)但响应未放入 RESPONSE .
有没有办法在 qmake 中获取诸如 codesign 之类的实用程序的响应?
这些实用程序输出到 stderr,而不是 stdout。您需要 运行 它们在 shell 包装器中,将 stderr 重定向到 stdout,例如 bash -c 'codesign ... 2>&1'