Pre-conditions: (Before building Squish)¶
Since Squish should be compatible with the target application,
Make sure that you are able to build and launch the target application using the same the toolchain and build environment which you intend to build Squish.Make sure the Squish version you have chosen supports the target Qt version.
For more information regarding the "Supported Qt Versions", please refer to our following Knowledge Based article.
https://kb.froglogic.com/squish/qt/howto/supported-qt-version/Linux packages from package manager
qtbase5-private-dev (Ubuntu) qt5-qtbase-private-devel (RHEL, CentOS, OL)
a specific package is required when using Qt from the package manager to build Squish's Qt support, because Squish needs the private include headers from Qt.
For users who are using Linux platform as the build environment,
It is necessary to install the following packages for dependency purposes. The package names below are examples for Ubuntu and may vary for other distributions.
libgl-dev
libx11-dev
libxcb-render0-dev
libxcb-shm0-dev
libxcb1-dev
libxcomposite-dev
libxcursor-dev
libxdamage-dev
libxdmcp-dev
libxext-dev
libxfixes-dev
libxft-dev
libxi-dev
libxinerama-dev
libxkbcommon-dev
libxrandr-dev
libxrender-dev
libxss-dev
libxt-dev
libxtst-dev
libxcb-randr0-dev
libxcb-xtest0-dev
libxcb-xinerama0-dev
libxcb-shape0-dev
libxcb-xkb-dev
ex: (for example on Ubuntu)
During configuration:¶
Tips:¶
When specifying the "qmake" file for the "--with-qmake" option,
please make sure to specify the same "qmake" file used to build the target application.Please remember to specify the "--enable-qmake-config" option, when using the "--with-qmake" option.
In general "--with-qmake" and "--enable-qmake-config" options comes as a pair.In general, it is not necessary to specify the "CXX" flag, as the compiler information is generally included in the "qmake" file.
It is recommended to have separate directory for executing the "configure" and "build" operations.
The "configure" mainly uses two kinds of switches:
"--enable-XXX" and "--disable-XXX" (--disable-XXX is the counterpart of the --enable-XXX)
"--with-XXX"More information regarding the configure switches, please refer to our following documentation https://doc.qt.io/squish/cli-configure.html
Additionally, the "help/usage" menu is available by executing "configure" along with the "--help" option at the terminal.
NOTE: Some "--with-" switches may require certain compilers, Qt versions or other external libraries. For instance when building with the --with-tesseract switch --with-leptonica is needed as well.
During build:¶
Tips:¶
- The "help/usage" menu is available by executing "build" along with the "--help" option at the terminal.
Errors and workaround:¶
Error message | Possible workaround | Remark |
---|---|---|
fatal error: GLES3/gl32.h: No such file or directory | This error most probably raised from the OpenGL related header file (ex:qopengl.h), which belongs to the local build toolchain, not from the Squish sources. In that case, please ask the application developers to apply necessary dependencies/modules. | |
error: 'Status' does not name a type | Installing the following dependencies. "libxft-dev" and "libxrandr-dev" ex (On Ubuntu): | |
error: 'Bool' does not name a type; did you mean 'bool'? | Installing the following dependencies. "libxft-dev" and "libxrandr-dev" ex (On Ubuntu): |