#include <QDatetime> 导致致命错误:QDatetime: No such file or directory
Posted
技术标签:
【中文标题】#include <QDatetime> 导致致命错误:QDatetime: No such file or directory【英文标题】:#include <QDatetime> cause fatal error: QDatetime: No such file or directory 【发布时间】:2016-08-05 00:42:56 【问题描述】:我试图用 arm-Linux-gnueabi-c++ 编译 gpsd 包, 这是行:
arm-linux-gnueabi-c++ -o qt-gpsutils.os -c -Os -Wextra -Wall -Wno- uninitialized
-Wno-missing-field-initializers -Wcast-align -Wmissing-declarations
-Wpointer-arith -Wreturn-type -pthread -Wmissing-declarations -O2 -pthread
-fPIC -DUSE_QT -DQT_SHARED -I/usr/include/qt4 -I/usr/include/qt4/QtNetwork
-I/usr/include/qt4/QtCore gpsutils.c
gpsutils.c:26:21: fatal error: QDateTime: No such file or directory
#include <QDateTime>
compilation terminated.
scons: *** [qt-gpsutils.os] Error 1
scons: building terminated because of errors.
我检查了我的PC目录/usr/include/qt4/QtCore,它有QDatetime文件,是什么问题。
【问题讨论】:
试过 #include "QDateTime.h" ,同样的问题。 根据this,#include <QDateTime>
是正确的。注意Time
中的大写T
。
对不起,在我投票关闭后,我注意到错误消息指的是QDateTime
,这是正确的拼写。但是您的标题和问题正文引用了QDatetime
,这是不正确的。请仔细检查拼写并更新问题以保持一致。
@pingul 是conventional, and perhaps advantageous,#include
ing 库头时使用尖括号。但更重要的是,快速浏览各种 API 文档表明 Qt 不使用 .h
扩展。所以,你的建议是错误的。
你在交叉编译吗?并尝试包含非 sysroot 标头?
【参考方案1】:
我遇到了同样的问题,因为我在生成的 .pro 中注释掉一行就可以了。 我创建了一个测试项目,那里有一行
CONFIG -= qt
删除了我之前添加的所有 qt 模块(例如,通过编写 QT += core)。 评论这条线后,我的问题就消失了。你也可以写
CONFIG += qt
我认为这将是 QT 项目的正常配置行。
编辑: 您的输出表明此配置变量已设置,并且 QTCore 已添加到链接的库中。我使用 QT 5.10,编译标志/定义的名称不同,所以我不知道你的情况发生了什么。
【讨论】:
以上是关于#include <QDatetime> 导致致命错误:QDatetime: No such file or directory的主要内容,如果未能解决你的问题,请参考以下文章
QT延时方法整理(QTimer::singleShot,QWaitCondition,QDateTime.secsTo三种新方法)