我的问题是关于 git://code.qt.io/qt/qt5.git 存储库中的Qt项目。我签出了5.12版。
我的假设是qtcreator知道 qmake 文件,但对 configure 命令一无所知。因此
但是当要求我输入时,编译窗口会停滞。 Qmake询问我要选择的许可证类型。我已经回答过,已经在配置阶段,即使我同意再次回答该问题,qtcreator的 compile output 窗口中也没有提示功能。我哪里出错了?
如果我忘记了QTCreator并在影子构建目录中调用 make ,则一切构建都很好,并且没有任何许可问题。然后,当我将影子构建目录导入QTCreator时,便可以在QTCreator中构建。但是后来出于好奇,我单击了 Run qmake ,然后回到第一个方框,即,编译窗口再次要求我输入并永远停在那里。
除了我的特定问题外,我没有找到有关使用QTCreator构建qt库的常规文档。我只找到有关使用Qt库编译项目的说明。
答案 0 :(得分:1)
Qt并不是真的要在IDE中进行编译。但是,这并不意味着不可能。有两种存档方法:
第一种方法:将开发人员版本添加为自定义工具包:
configure
脚本(并添加-developer-build
选项).pro
文件,然后选择先前创建的工具包。 QtCreator现在将使用正确的qmake可执行文件这是“正确的”方法。现在,您可以将该项目用作任何普通项目,包括对个人文件的更改。而且,QtCreator现在可以正确检测到构建目录,因此即使打开其中一个模块,也不必更改该目录。
第二种方法:用作没有qmake的普通项目:
configure
脚本(并添加-developer-build
选项)make qmake_all
,让Qt准备所有makefile,创建标头等。.pro
文件。您可以选择任何套件。make
,与在控制台中运行make的行为相同。这是一种解决方法,我不建议您将其用于完整的Qt构建,除非第一种方法由于某种原因对您不起作用。
如果您只想对单个Qt模块进行更改而无需编译整个Qt框架,这也很有用,例如,您可以克隆其中一个子模块并在其上使用“现有” qmake,而不用编译QtBase(在这种情况下,请跳过步骤4)
最后通知:当我尝试打开整个Qt-Project时,QtCreator在我的系统上崩溃了,因为该项目需要处理。我建议您只打开超级重新建立状态中的一个模块,即“ qtbase”,“ qtdeclarative”等。