0

我有一个代码,我正在用 QT (C++) 编写它,我想在 GUI 上的 dateTime 显示上显示一个日期。我从另一个组件获取时间,然后我将它解析为参数列表,然后我使用 Qpr​​ocess运行 date - u 命令 .. 无论如何,我的 make 似乎不喜欢我正在做的事情,因为它会打印出这个错误:

QT UTC linux Clock skew detected. Your build may be incomplete.

我所做的全部目的是根据我获得的值更新我的 linux 计算机的 UTC 时间,然后使用 QT 代码获取该日期以获取计算机 UTC 时间

这是代码的一部分:

    if(month<10)
{
    argument  = "0"+ argument + QString::number(month);
}
else
{
    argument =  argument + QString::number(month);
}
if(day<10)
{
    argument = "0"+ argument + QString::number(day);
}
else
{
    argument =  argument + QString::number(day);
}
if(hourUTC<10)
{
    argument =  "0" + argument + QString::number(hourUTC);
}
else
{
    argument =  argument + QString::number(hourUTC);
}
if(minUTC<10)
{
    argument =  "0"+ argument + QString::number(minUTC);
}
else
{
    argument =  argument + QString::number(minUTC);
}
argument =  argument + QString::number(year);

argument =  argument +  ".";

if(secUTC<10)
{
    argument =  "0"+ argument + QString::number(secUTC);
}
else
{
    argument =  argument + QString::number(secUTC);
}
//argument =  argument + QString::number((qint32)qRound(msUTC/ 1000.0));

argumentlist << argument;

qDebug() << argumentlist;

QProcess* proc = new QProcess();

// Change system date and time "date -u MMDDhhmmYYYY.ss" in tha application the date is created dynamically
proc->start(program, argumentlist);
proc->waitForFinished();
m_pOi->setTime();

知道如何强制更改计算时间吗?是的,我确实以超级用户身份运行代码!

4

1 回答 1

2

我认为当您的文件时间比系统时钟新时会发生此错误。make警告您,它可能因此无法正确构建所有内容。touch下载所有文件应该可以解决问题。

原因之一是 SCM 系统保留了文件时间并且领先于您的系统时钟。

于 2013-07-16T09:46:33.157 回答