How to configure modules when building Qt from git
-
I am following this guide to build Qt from source and hoping to build Qt creator with it once I am done. According to the guide for building Qt Creator, it requires these modules: qtscript, qttools and qtdeclarative. How can I
./configure
my qt5 build so that it properly includes and builds those modules?I also like to use several other add-on modules. I am assuming these do not get built by default. How can I configure my qt build to include some of these modules? For example: Qt Positioning, Qt Location, Qt 3D, Qt Chart, Qt Webengine, etc.
Do I understand this correctly, that I need to pass a parameter to
./configure
script in order to build Qt from git with all the modules I need? Can someone please provide an example. All the examples I see show how to exclude a module, I cant find any examples about including modules. -
Hi,
Most modules are built by default.
For additional modules, it the same technique as when building a project:
qmake make make install
-
@Aras
Exactly right by default all necessary packages/modules add auto during run './configure'.If still need to add specific package so you may type like below.
For example If need to add 'webkit' module than may type '../configure -webkit ' -
@SGaist I am doing an out of source directory build. I have cloned the Qt source into a folder called
qt5
. Parallel to that folder I have myQt5.8Nov28Build
. I ran../qt5/configure -developer-build -opensource -nomake examples -nomake tests -debug
from inside the build folder. Now there are these folders created:Qt5.8_build_Nov28$ ls config.cache config.status qtactiveqt qtcanvas3d qtdocgallery qtimageformats qtmultimedia qtqa qtserialbus qtwayland qtxmlpatterns config.log Makefile qtandroidextras qtconnectivity qtenginio qtlocation qtpim qtscxml qtserialport qtwebengine config.opt qt3d qtbase qtdeclarative qtgamepad qtmacextras qtpurchasing qtsensors qtsvg qtx11extras
Do I need to go into each folder, if I want that module, and run
qmake & make
. Also do I still need to domake install
even if I am doing an out of source build?@Vicky-Sharma I tried but the
-webkit
flag is not recognized. I tried many other flags such as-script -scripttools -declarative -declarative-debug
and none of those are recognized by the configure script.I am using 64bit Ubuntu 16.04.
-
Another update on this. I was able to build Qt from source. In order to build Qt Creator from source, I had to run
make -j5 module-qtscript
from the qt build directory. After that I was able to configure and build Qt Creator. So now I have Qt Creator version 4.2.82 built from source using qmake version 5.8.0 also built from source.However, when I try to open my project using the new qt build and the new creator I just build, I get this warning about missing modules in the "General Messages" tab:
Project MESSAGE: Warning: unknown QT: 3dcore Project MESSAGE: Warning: unknown QT: 3drender Project MESSAGE: Warning: unknown QT: 3dinput Project MESSAGE: Warning: unknown QT: 3dlogic Project MESSAGE: Warning: unknown QT: 3dquick Project MESSAGE: Warning: unknown QT: 3dextras Project MESSAGE: Warning: unknown QT: qml Project MESSAGE: Warning: unknown QT: quick Project MESSAGE: Warning: unknown QT: 3dquickextras Project MESSAGE: Warning: unknown QT: positioning Project MESSAGE: Warning: unknown QT: serialbus Project MESSAGE: Running CAN pro file Project MESSAGE: Target path is: + plugins/can Project MESSAGE: Warning: unknown QT: qml Project MESSAGE: Warning: unknown QT: quick Project MESSAGE: Warning: unknown QT: serialbus Project MESSAGE: Warning: unknown QT: qml Project MESSAGE: Warning: unknown QT: quick Project MESSAGE: Warning: unknown QT: qml Project MESSAGE: Warning: unknown QT: quick
And if I try to build the project I get lots of errors about functions being private or not getting recognized. I know that the code is correct, because it builds and runs on another machine. So thse errors must be caused by missing modules.
That is exactly what I was worried about. How do I install those missing modules?
-
If you configure Qt at the root, it will build all the current modules.
You only have to go "by hand" with qtscript.
QtWebkit it not an option anymore since 5.6
Unless you plan to hack on Qt don't use a developer build.
-
Sorry, I meant the root directory of the source.
Basically:
mkdir build_Qt5 cd build_Qt5 /path/to/Qt_sources/configure
-
@SGaist that is exactly what I did: an out of source directory build. I am focused on this error now:
ControlView.qml:2 module "QtQuick.Controls" version 2.0 is not installed
To me that means qtquickcontrols2 did not get installed when I built qt. Is there a way to just build this module and install it?
Sorry, I dont know why I am always having such a hard time with qt modules. It can't be just me, right?
-
That should boil down to:
cd build_Qt5 mkdir qtquickcontrols2 ../qtbase/bin/qmake /path/to/Qt_sources/qtquickcontrols2 make make install
-
@SGaist thank you for that! That took care of the
qtquickcontrols2
. Now I just have a hand full of other modules I need to build and install, according to these errors:/Live3DWidget.qml:4 module "QtQuick.Scene3D" is not installed /Live3DWidget.qml:9 module "Qt3D.Extras" is not installed /Live3DWidget.qml:7 module "Qt3D.Render" is not installed /Live3DWidget.qml:6 module "Qt3D.Core" is not installed /Live3DWidget.qml:8 module "Qt3D.Input" is not installed /Live3DWidget.qml:4 module "QtQuick.Scene3D" is not installed /Live3DWidget.qml:9 module "Qt3D.Extras" is not installed /Live3DWidget.qml:7 module "Qt3D.Render" is not installed /Live3DWidget.qml:6 module "Qt3D.Core" is not installed /Live3DWidget.qml:8 module "Qt3D.Input" is not installed /Live3DWidget.qml:4 module "QtQuick.Scene3D" is not installed /Live3DWidget.qml:9 module "Qt3D.Extras" is not installed /Live3DWidget.qml:7 module "Qt3D.Render" is not installed /Live3DWidget.qml:6 module "Qt3D.Core" is not installed /Live3DWidget.qml:8 module "Qt3D.Input" is not installed /Live3DWidget.qml:4 module "QtQuick.Scene3D" is not installed /Live3DWidget.qml:9 module "Qt3D.Extras" is not installed /Live3DWidget.qml:7 module "Qt3D.Render" is not installed /Live3DWidget.qml:6 module "Qt3D.Core" is not installed /Live3DWidget.qml:8 module "Qt3D.Input" is not installed /Live3DWidget.qml:4 module "QtQuick.Scene3D" is not installed /Live3DWidget.qml:9 module "Qt3D.Extras" is not installed /Live3DWidget.qml:7 module "Qt3D.Render" is not installed /Live3DWidget.qml:6 module "Qt3D.Core" is not installed /Live3DWidget.qml:8 module "Qt3D.Input" is not installed
I will try to install relevant modules and try again. Will report back.