如何在 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 模块的主要内容,如果未能解决你的问题,请参考以下文章
即使在我的.pro文件中包含“testlib”包(用于qWait())之后,如何避免Qt应用程序中的控制台窗口?