mirror of
https://github.com/mappu/miqt.git
synced 2024-12-22 08:58:37 +00:00
doc/README: document native Windows compilation instructions
This commit is contained in:
parent
9c673492c8
commit
d476988ec0
23
README.md
23
README.md
@ -19,8 +19,8 @@ These bindings were newly started in August 2024. The bindings are functional fo
|
|||||||
|
|
||||||
|Platform|Linkage|Status
|
|Platform|Linkage|Status
|
||||||
|---|---|---
|
|---|---|---
|
||||||
|Linux|Static, Dynamic (.so)|✅ Works (Tested with Debian 12 / Qt 5.15 / Clang 14 / GCC 12)
|
|Linux|Static, Dynamic (.so)|✅ Works<br>- Tested with Debian 12 / Qt 5.15 / GCC 12
|
||||||
|Windows|Static, Dynamic (.dll)|✅ Works (Tested with MXE Qt 5.15 / MXE GCC 5 under cross-compilation)
|
|Windows|Static, Dynamic (.dll)|✅ Works<br>- Tested with MXE Qt 5.15 / MXE GCC 5 under cross-compilation<br>- Tested with Fsu0413 Qt 5.15 / Clang 18.1 native compilation
|
||||||
|macOS|Static, Dynamic (.dylib)|Should work, [not tested](https://github.com/mappu/miqt/issues/2)
|
|macOS|Static, Dynamic (.dylib)|Should work, [not tested](https://github.com/mappu/miqt/issues/2)
|
||||||
|
|
||||||
## License
|
## License
|
||||||
@ -93,3 +93,22 @@ For dynamically-linked builds (closed-source or open source application):
|
|||||||
For repeated builds, the compile speed can be improved if you also bind-mount the Docker container's `GOCACHE` directory: `-v $(pwd)/container-build-cache:/root/.cache/go-build`
|
For repeated builds, the compile speed can be improved if you also bind-mount the Docker container's `GOCACHE` directory: `-v $(pwd)/container-build-cache:/root/.cache/go-build`
|
||||||
|
|
||||||
To add an icon and other properties to the .exe, you can use [the go-winres tool](https://github.com/tc-hib/go-winres). See the `examples/windowsmanifest` for details.
|
To add an icon and other properties to the .exe, you can use [the go-winres tool](https://github.com/tc-hib/go-winres). See the `examples/windowsmanifest` for details.
|
||||||
|
|
||||||
|
### Q8. How can I compile natively on Windows?
|
||||||
|
|
||||||
|
1. Install Go from [the official website](https://go.dev/dl/).
|
||||||
|
2. Install a Qt toolchain. You can use [official Qt binaries](https://www.qt.io/) or any LGPL rebuild.
|
||||||
|
- Example: Download and extract the following into some shared `C:\dev\rootfs`.
|
||||||
|
- [Qt and matching GCC or Clang toolchain](https://build-qt.fsu0413.me/5.15-series/5.15.11-for-windows/index.html#windows-mingw-llvm)
|
||||||
|
- [pkg-config](https://sourceforge.net/projects/pkgconfiglite/files/0.28-1/)
|
||||||
|
3. Configure environment variables to allow it to be used:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
$env:CGO_ENABLED = 1
|
||||||
|
$env:CC = 'C:\dev\rootfs\bin\clang.exe'
|
||||||
|
$env:CXX = 'C:\dev\rootfs\bin\clang++.exe'
|
||||||
|
$env:PKG_CONFIG = 'C:\dev\rootfs\bin\pkg-config.exe'
|
||||||
|
$env:CGO_CXXFLAGS = '-Wno-ignored-attributes -D_Bool=bool' # Clang 18 recommendation
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Run `go build -ldflags "-s -w -H windowsgui"`
|
||||||
|
Loading…
Reference in New Issue
Block a user