QT UTC linux检测到时钟偏差。您的构建可能不完整

时间:2013-07-16 09:12:30

标签: c++ linux qt datetime

我有一个代码,我在QT(C ++)中编写它,我想在GUI上的dateTime显示上显示日期..我从另一个组件获取时间然后我将其解析为参数列表然后我使用Qprocess来运行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();

任何想法如何强制改变我的计算时间?是的,我作为一个超级用户运行代码!

1 个答案:

答案 0 :(得分:2)

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

其中一个原因是SCM系统保留了文件时间并超出了系统时钟。