如何在 Qt 5.4 应用程序中包含 QtScript 模块

Posted

技术标签:

【中文标题】如何在 Qt 5.4 应用程序中包含 QtScript 模块【英文标题】:How do I include the QtScript module in a Qt 5.4 application 【发布时间】:2015-03-25 01:44:08 【问题描述】:

在 Qt 5.4 之前,我可以通过添加将 QtScript 模块添加到我的构建中

QT += script

到我的 .pro 文件。但是,当我尝试使用 Qt 5.4 构建项目时,'script' 被 qmake 标记为未知模块。

我可以在我的库文件夹中看到 QtScript 共享对象。

我在任何 Qt 5.4 发行说明中都找不到对此的任何引用。

【问题讨论】:

上次我尝试构建这个应用程序是针对 Qt 5.2 也许你安装了很多 Qt 版本并且使用了前一个版本的 qmake?尝试qmake --version 并检查输出 我通常使用“which qmake”来确保我正在调用我认为我正在运行的 qmake。 【参考方案1】:

事实证明,这个问题是 RedHat EL 6 的 Qt 5.4 的 RedHat EPEL 存储库打包中的一个缺陷。qt5-qtscript 包显然没有向系统注册自身,因此 qmake 无法识别“脚本”关键字(QT += 脚本)。

我通过从 Qt 网站 (qt.io) 安装 5.4.1 库解决了这个问题。 RHEL 6.4 从 qt.io 在线安装程序安装 QtCreator 存在问题,因为 gcc 是 4.7.3 之前的版本,并且 QtCreator 抱怨 libstdc++ 版本,但除了 QtCreator 之外,Qt 5.4.1 库安装良好。

所以我使用 epel 存储库中的 qt-creator(由 epel 中的 Qt 5.4 库支持)并针对安装在单独位置的 qt.io 中的 Qt 5.4.1 库构建我的程序,(我的构建工具包使用那些库),现在一切都对我有用。

一旦我弄清楚 qt5-qtscript 包做错了什么,我会提交一个补丁来修复它,但我可能需要一段时间才能完成该任务。

【讨论】:

以上是关于如何在 Qt 5.4 应用程序中包含 QtScript 模块的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Mac OS 的发布版本中包含 Qt 库?

即使在我的.pro文件中包含“testlib”包(用于qWait())之后,如何避免Qt应用程序中的控制台窗口?

如何在Qt资源文件中包含exe等各种类型文件?

在 Dev-C++ 中包含 Qt 库

如何在 Qt Creator 的 CMakeLists.txt 中包含头文件?

在 Qt 应用程序中包含 Python.h 会导致对 Qt 函数的未定义引用