我有一个代码,我写在Qt(C++)中,我想在GUI上的DATETIME显示上显示日期。我从另一个组件获取时间,然后将其解析为参数列表,然后使用Qprocess运行date-u命令。。不管怎么说,我的品牌似乎不喜欢我的做法,因为它会打印出这个错误:

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();

你知道我怎样才能在计算时强制改变时间吗?是的,我是以超级用户的身份运行代码的!

最佳答案

我认为这个错误发生在你的文件时间比你的系统时钟新的时候。make警告您,由于这个原因,它可能无法正确构建所有内容。touch使用所有文件都可以解决问题。
其中一个原因是SCM系统保留了文件时间并在系统时钟之前。

关于c++ - 检测到QT UTC linux时钟偏斜。您的构建可能不完整,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17672457/

10-11 22:36
查看更多