首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt Lite与QT5.8中的配置变化

Qt Lite与QT5.8中的配置变化
EN

Stack Overflow用户
提问于 2017-01-23 17:27:08
回答 3查看 3.5K关注 0票数 12

因此,据称,Qt的配置工具进行了一些更改,这是进行更精简的Qt构建所必需的,即"Qt“。然而,似乎没有任何关于如何使用该功能的文档,或者至少我没有找到任何文档,并且查看发布公告中的评论,其他人也不能。

更重要的是,从我过去几年来使用的配置失败的事实来看,这些变化肯定存在于此。我不知道如何更新内置的帮助,因为我上次尝试使用它作为指导,它原来基本上是过时的,其中包含的选项,不再支持。

因此,如果有人能说明什么已经改变了,如何改变,以及如何配置"Lite“构建,那就太好了。尤其是在模块和特性依赖项上,因为我认为我们都希望避免在构建时浪费时间,尽管配置不正确,忽略了必要的依赖关系,从而不可避免地失败,只会浪费时间。

EN

回答 3

Stack Overflow用户

发布于 2017-01-24 03:07:11

按变动人数计算g:

  • 配置系统几乎是从头开始重写的。这提高了Unix和Windows构建之间的一致性,但也可能发生一些微妙的意外行为更改。此外,一些过时的选项已经完全删除,现在将导致错误。
  • 不再允许手动#在任何地方定义QT_NO_。相反,必须使用配置的-无功能-*选项。请注意,这不适用于定义哪些修改行为,而不是完全删除功能。
  • 无功能-*选项系列与配置系统的其他部分集成在一起。许多现有的功能是可选的,并且在各种简化配置中的构建问题是固定的。这是一项被称为"Qt“的持续努力。

-no-feature-*列表的功能在qtbase\src\corelib\global\qfeatures.txt中。

默认情况下,所有功能都已启用。

更多信息可以在Qt Lite概述及其幻灯片中找到。

您还可以使用新的UI工具,称为Qt配置工具,它是嵌入式设备包Qt的一部分-参见其文件。配置工具目前只适用于商业Qt客户(QT5.8)。

票数 6
EN

Stack Overflow用户

发布于 2017-01-31 16:03:59

我失败的配置背后的更改:

  • 不再有指定sql支持是内置的还是插件的选项,所以格式现在只是-sql-<driver>,文档仍然没有更新,并列出了旧的格式- -<option>-sql-<driver>
  • 添加特定库的-l选项已被删除,该选项在多个区域被证明为成问题

编辑:而且,这篇博文是关于做lite构建的。可能是有用的。

票数 3
EN

Stack Overflow用户

发布于 2017-02-27 16:22:57

描述新配置系统所理解的一切都在散布在Qt模块上的configure.json文件中提供。configure工具使用这些文件构建它理解的命令行参数列表。

如果不使用其他工具,要了解Qt特性,您需要检查这些json文件,并选择您希望打开或关闭的特性/选项。

子配置

这些操作包括并引用给定文件夹中的configure.json文件。例如,qtbase/configure.json包括qtbase/src/corelib/configure.jsonqtbase/src/network/configure.json等:

代码语言:javascript
复制
"subconfigs": [
    "src/corelib",
    "src/network",
    [...]
],

显式命令行选项

commandline/options值列出了给定Qt模块理解的configure选项。这些选项与功能系统是分开的,尽管它们可以方便地用于提供控制特性的速记别名。例如,在qtbase/configure.json中,我们有:

代码语言:javascript
复制
{ "commandline": { "options": { "accessibility": "boolean", [...] }

此命令行选项控制同名accessibility功能。它比处理特征系统的选项[-no]-feature-accessibility更方便使用。下列对具有相同的效果:

  • -accessibility-feature-accessibility
  • -no-accessibility-no-feature-accessibility

价值:

  • boolean选项被赋予configure-option-no-option,分别意味着truefalse
  • 所有其他选项都以-option value的形式提供。

特征选项

features值列出了给定模块中可用的特性。这些特征实际上是布尔人。它们在默认情况下都是启用的,但必须通过配置测试才能启用它们。

控制功能foo

  • -no-feature-foo禁用该功能。例如,要禁用iconv特性,可以执行configure -no-feature-iconv [...]
  • -feature-foo启用了这个特性并确保它是可用的。如果功能的配置测试失败,这将导致错误。它在构建与应用程序一起构建特定配置的Qt的系统中很有用:它确保您的代码所依赖的特性是可用的。

失败构建

一般来说,不管您提供了哪些特性选择组合,如果configure没有失败,构建就应该成功。

尽管配置不当,我们都希望避免在将开始构建的构建上浪费时间。

configure工具将检测到任何无效的配置。如果configure成功了,但是构建失败了,这是一个Qt错误,您应该报告它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41812121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档