qt-build-tools/README.md

31 lines
2.1 KiB
Markdown
Raw Normal View History

2021-08-27 16:27:55 +08:00
# Qt build tools and patches
2021-09-26 04:16:39 +08:00
This is a set of build tools and required patches to build Qt yourself and distribute it along with your app on macOS and Windows.
### macOS
2021-08-27 16:27:55 +08:00
For macOS we currently distribute two binaries:
2022-04-26 17:56:03 +08:00
- Modern, compiled with [Qt 5.15.9](5.15.9) for macOS 10.13+. If you do not own a commercial license, you can still use [Qt 5.15.2](5.15.2), the folder contains number of mostly macOS-related patches already applied in order to be compiled and used normally on modern macOS versions (e.g. Big Sur or Monterey). Building universal binaries for both x86_64 & Apple Silicon with Qt 5.15.2 is tricky, [but possible](https://github.com/crystalidea/macdeployqt-universal).
2021-08-27 16:27:55 +08:00
2022-02-02 22:40:41 +08:00
- Legacy, compiled with [Qt 5.6.3](5.6.3) for macOS 10.7-10.12. The folder contains several macOS-related patches ([QTBUG-40583](https://bugreports.qt.io/browse/QTBUG-40583), [QTBUG-18624](https://bugreports.qt.io/browse/QTBUG-18624), [QTBUG-52536](https://bugreports.qt.io/browse/QTBUG-52536), [QTBUG-63451](https://bugreports.qt.io/browse/QTBUG-63451) ) already applied in order to be compiled and used normally. For compilation we use macOS 10.13 and XCode 8.
2021-08-27 16:27:55 +08:00
2022-02-02 22:40:41 +08:00
To apply patches and compile Qt the same as we do, simply copy the contents of the folder ([Qt 5.15.2](5.15.2) or [Qt 5.6.3](5.6.3)) to the official Qt source tree (overwriting existing files of cause).
2022-04-26 17:56:03 +08:00
Compiling your app with both modern and legacy Qt can be done on modern macOS and [XCode](https://apps.apple.com/us/app/xcode/id497799835?mt=12).
When compiling a project with Qt 5.6.3 on arm64 host machine some additional steps are required in your .pro file:
```bash
# compiler flags:
QMAKE_CXXFLAGS += "-arch x86_64"
QMAKE_CFLAGS += "-arch x86_64"
QMAKE_LFLAGS += "-arch x86_64"
# linker flags, required to support 10.7, otherwise minimum deployment target is 10.9
QMAKE_LFLAGS += "-stdlib=libc++"
```
2021-08-27 16:27:55 +08:00
2021-09-26 04:16:39 +08:00
### Windows
2021-08-27 16:27:55 +08:00
2021-09-26 04:16:39 +08:00
On Windows you need [VS2019 Community Edition](https://visualstudio.microsoft.com/downloads/) and [Perl](https://strawberryperl.com/). QtNetwork module is compiled using openssl-1.1.1k which is pre-compiled but once you delete the folder, it will be compiled again.