【问题标题】:#include <QDatetime> cause fatal error: QDatetime: No such file or directory#include <QDatetime> 导致致命错误: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 &lt;QDateTime&gt; 是正确的。注意Time 中的大写T
  • 对不起,在我投票关闭后,我注意到错误消息指的是QDateTime,这是正确的拼写。但是您的标题和问题正文引用了QDatetime,这是不正确的。请仔细检查拼写并更新问题以保持一致。
  • @pingul 是conventional, and perhaps advantageous#includeing 库头时使用尖括号。但更重要的是,快速浏览各种 API 文档表明 Qt 不使用 .h 扩展。所以,你的建议是错误的。
  • 你在交叉编译吗?并尝试包含非 sysroot 标头?

标签: c++ qt


【解决方案1】:

我遇到了同样的问题,因为我在生成的 .pro 中注释掉一行就可以了。 我创建了一个测试项目,那里有一行

CONFIG -= qt

删除了我之前添加的所有 qt 模块(例如,通过编写 QT += core)。 评论这条线后,我的问题就消失了。你也可以写

CONFIG += qt

我认为这将是 QT 项目的正常配置行。

编辑: 您的输出表明此配置变量已设置,并且 QTCore 已添加到链接的库中。我使用 QT 5.10,编译标志/定义的名称不同,所以我不知道你的情况发生了什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-30
    • 1970-01-01
    • 2020-01-20
    • 2013-05-05
    • 2022-01-13
    • 2018-04-24
    • 2023-03-12
    • 1970-01-01
    相关资源
    最近更新 更多