我正在尝试在 Linux 上使用 Qt 5.7 构建示例项目。以前,使用 Qt 5.4.2 构建了相同的项目,没有问题。当我尝试使用 Qt 5.7 时,出现以下错误:
undefined reference to `QJsonValue::toString() const'
我尝试使用Qt 维护工具安装 Qt5.7,还从 Qt 官方网站下载并使用 .run 文件安装它。当我对 qjsonvalue 运行定位时,我得到以下结果:
$ locate qjsonvalue
/opt/Qt/5.4/Src/qtbase/include/QtCore/qjsonvalue.h
/opt/Qt/5.4/Src/qtbase/src/corelib/json/qjsonvalue.cpp
/opt/Qt/5.4/Src/qtbase/src/corelib/json/qjsonvalue.h
/opt/Qt/5.4/android_armv7/include/QtCore/qjsonvalue.h
/opt/Qt/5.4/android_x86/include/QtCore/qjsonvalue.h
/opt/Qt/5.4/gcc_64/include/QtCore/qjsonvalue.h
/usr/include/qt5/QtCore/qjsonvalue.h
/usr/share/doc/qt5/qtcore/qjsonvalue-members.html
/usr/share/doc/qt5/qtcore/qjsonvalue.html
根据之前的结果,似乎我需要安装一些东西,因为 qjsonvalue.h/cpp 不在我的 Qt5.7 核心中。关于如何解决它的任何想法?需要安装其他东西吗?注意,当我启动 Qt 维护工具时,我收到一条警告消息,内容如下:
Your installation seems to be corrupted. Please consider re-installing from scratch.