首页 > 解决方案 > Qt Creator 从编译过程中排除 JavaScript 文件

问题描述

我想从编译过程中排除 QT​​ 快速项目中的一些 JavaScript 和 HTML 文件,但我希望在最终的可执行文件中包含这些文件。

当我在发布模式下构建项目时,对于一些缩小的 JavaScript 文件,QT 给了我错误,所以我想从构建中排除这些文件。这些 JS 文件是从运行在 QtWebEngine 内的 Web 组件中使用的,因此如果不编译这些文件是可以的。

标签: javascriptqtqt-creatorqtquick2

解决方案


显然,您正在使用Qt Quick Compiler可编译资源中所有 .qml 和 .js 的发布版本。我假设您使用的是qmake构建系统,因为 Qt Creator 默认为基于 qmake 的发布构建启用快速编译器,但CMake您需要在 CMakeLists.txt 中手动启用它(至少现在是这样)。

对于基于 qmake 的构建,您可以从Qt Quick Compiler 文档中找到答案:

如果您有 .qml 或 .js 文件不应编译而只是由资源系统捆绑,那么您可以通过在项目文件的 QTQUICK_COMPILER_SKIPPED_RESOURCES 变量中指定包含它们的资源文件来从编译中省略它们,如下所示:

QTQUICK_COMPILER_SKIPPED_RESOURCES += bundle_only.qrc

推荐阅读