From 1841ad55fe7ed6cdd3b76afc3eb8679f1a150ebf Mon Sep 17 00:00:00 2001 From: Cypherpunk Samurai Date: Thu, 7 Nov 2024 13:31:36 +0530 Subject: [PATCH] update readme build guide (#96) update readme build instructions with windows specific instructions --- README.md | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6b08601..f4e3c77 100644 --- a/README.md +++ b/README.md @@ -56,10 +56,32 @@ export CGO_CFLAGS="-I{{ path to your working directory }}/tmp/n7.0/include/", export PKG_CONFIG_PATH="{{ path to your working directory }}/tmp/n7.0/lib/pkgconfig", ``` +## Building on Windows + +Building on Windows requires msys2 / mingw64 gcc toolchain. Read the [Quickstart guide](https://www.msys2.org) to install Msys2. + +Once complete run the Mingw64 shell from the installation folder, run the below commands: + +```shell +# Update Packages +pacman -Syu +# Install Requirements to Build +pacman -S --noconfirm --needed git diffutils mingw-w64-x86_64-toolchain pkg-config make yasm +# Clone the repository using git +git clone https://github.com/asticode/go-astiav +cd go-astiav +``` + +Then once you clone this repository, follow along the build instructions above. + +> **Notes:** +> For `pkg-config` use `pkgconfiglite` from choco. +> Remember to set `CGO` and `PKG_CONFIG` env vars properly to point to the folder where ffmpeg was built. + # Why astiav? After maintaining for several years the most starred [fork](https://github.com/asticode/goav) of [goav](https://github.com/giorgisio/goav), I've decided to write from scratch my own C bindings to fix most of the problems I still encountered using `goav`. # Breaking changes -You can see the list of breaking changes [here](BREAKING_CHANGES.md). \ No newline at end of file +You can see the list of breaking changes [here](BREAKING_CHANGES.md).