3

升级到 Qt 6.0 后,编译器告诉我

qzxing/src/QZXing.cpp:16: error: 'QtCore/QTextCodec' file not found
qzxing/src/QZXing.cpp:16:10: fatal error: 'QtCore/QTextCodec' file not found
#include <QtCore/QTextCodec>
         ^~~~~~~~~~~~~~~~~~~
qzxing/src/QZXing.cpp:16:10: note: did not find header 'QTextCodec' in framework 'QtCore' (loaded from '/Applications/Qt/6.0.0/clang_64/lib')

根据Qt 的文档,可以通过添加QT += core5compat. 但是,编译器告诉我“QT 中的未知模块:core5compat”。

如何解决这个问题呢?

4

3 回答 3

5
  1. 确保您已安装“Qt 5 兼容性模块”。
  2. 添加QT += core5compat.pro 文件。
  3. 替换#include <QtCore/QTextCodec>#include <QTextCodec>

Qt 安装程序

于 2020-12-21T01:30:44.700 回答
4

QTextCodec 类已移至 core5compat 子模块,因此在 .pro 中添加它是不够的,但您必须将导入更正为:

#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
    #include <QtCore/QTextCodec>
#else
    #include <QtCore5Compat/QTextCodec>
#endif

或者干脆

#include <QTextCodec>

另一方面,您必须安装此模块,因为它不是默认安装的,为此您必须使用维护工具

于 2020-12-20T16:14:20.807 回答
0

添加greaterThan(QT_MAJOR_VERSION,5): QT += core5compat .pro 文件

于 2021-06-26T02:32:21.233 回答