如何正确使用qmake的“系统”命令输出

时间:2014-01-31 08:53:07

标签: qt build qt4 qmake

这样的qmake项目(* .pro)代码在Ubuntu Linux下成功运行,但在Windows 8下它没有:

win32 {
    BUILD_TIME = $$system ("time /T")
}
else
{
    BUILD_TIME = $$system ("time")
}
message($$BUILD_TIME) # output the current time

输出是“time / T”,即命令本身而不是命令执行值。 这种行为是一个错误,还是我做错了? :)

UPD:我找到了另一种获取当前日期的方法:$$_DATE_。然而, 我不喜欢使用未记录的功能 - 这是个坏主意。

P.S。我的目标只是生成唯一的构建ID字符串。我正在使用Qt 4.8.5。

1 个答案:

答案 0 :(得分:4)

以下命令适用于我:

win32 {
    BUILD_TIME = $$system("time /T") # no spaces between 'system' command and args.
} else {
    BUILD_TIME = $$system("time")
}
message($$BUILD_TIME) # output the current time

请注意,我删除了$$system("time /T")

之间的空格