Merge pull request #27 from prichmp/master
Build instructions for Windows
This commit is contained in:
commit
dfe74508dc
2 changed files with 46 additions and 4 deletions
40
BUILDING.md
Normal file
40
BUILDING.md
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
|
||||||
|
# Running on Windows using MSYS2
|
||||||
|
|
||||||
|
The following are instructions for building whisper-rs on Windows using the msys2 set of compilers.
|
||||||
|
|
||||||
|
1. install msys2/mingw by following [https://code.visualstudio.com/docs/cpp/config-mingw](`https://code.visualstudio.com/docs/cpp/config-mingw`)
|
||||||
|
1. Install g++ and make within msys2 ucrt64
|
||||||
|
- `pacman -S --needed base-devel mingw-w64-x86_64-toolchain`
|
||||||
|
2. Add the msys2 ucrt64 bin folder to path `C:\msys64\ucrt64\bin`
|
||||||
|
2. Install make by running `pacman -S make` in msys2 ucrt66
|
||||||
|
3. Set rust to use msys2: by running `rustup toolchain install stable-x86_64-pc-windows-gnu` in Windows Powershell/Cmd
|
||||||
|
4. Add `.cargo/config.toml` file in the project with the following contents:
|
||||||
|
```
|
||||||
|
[target.x86_64-pc-windows-gnu]
|
||||||
|
linker = "C:\\msys64\\ucrt64\\bin\\gcc.exe"
|
||||||
|
ar = "C:\\msys64\\ucrt64\\bin\\ar.exe"
|
||||||
|
```
|
||||||
|
5. Run `cargo run` in Windows Powershell/Cmd
|
||||||
|
|
||||||
|
# Running on Windows using Microsoft Visual Studio C++
|
||||||
|
|
||||||
|
It has been reported that it is also possible to build whisper-rs using Visual Studio C++.
|
||||||
|
|
||||||
|
Make sure you have installed and in the path:
|
||||||
|
|
||||||
|
- Visual Studio C++
|
||||||
|
- cmake
|
||||||
|
|
||||||
|
You may need to clone the git repository instead of using the Cargo package.
|
||||||
|
|
||||||
|
# Running on M1 OSX
|
||||||
|
|
||||||
|
To build on a M1 Mac, make sure to add the following to your project's `.cargo/config.toml`:
|
||||||
|
|
||||||
|
```
|
||||||
|
[target.aarch64-apple-darwin]
|
||||||
|
rustflags = "-lc++ -l framework=Accelerate"
|
||||||
|
```
|
||||||
|
|
||||||
|
See https://github.com/tazz4843/whisper-rs/pull/2 for more information.
|
||||||
10
README.md
10
README.md
|
|
@ -37,23 +37,25 @@ See [examples/basic_use.rs](examples/basic_use.rs) for more details.
|
||||||
Lower level bindings are exposed if needed, but the above should be enough for most use cases.
|
Lower level bindings are exposed if needed, but the above should be enough for most use cases.
|
||||||
See the docs: https://docs.rs/whisper-rs/ for more details.
|
See the docs: https://docs.rs/whisper-rs/ for more details.
|
||||||
|
|
||||||
|
## Building
|
||||||
|
|
||||||
|
See [BUILDING.md](BUILDING.md) for instructions for building whisper-rs on Windows and OSX M1.
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
* I get an error about a lot of undefined symbols at compile time!
|
* I get an error about a lot of undefined symbols at compile time!
|
||||||
* These symbols might be part of the C++ standard library.
|
* These symbols might be part of the C++ standard library.
|
||||||
* Try linking against it with the `-Clink-args=-lstdc++` compiler flag:
|
* Try linking against it with the `-Clink-args=-lstdc++` compiler flag:
|
||||||
* `RUSTFLAGS="-Clink-args=-lstdc++" cargo build`
|
* `RUSTFLAGS="-Clink-args=-lstdc++" cargo build`
|
||||||
* Windows/macOS/Android aren't working!
|
* macOS/Android aren't working!
|
||||||
* I don't have a way to test these platforms, so I can't really help you.
|
* I don't have a way to test these platforms, so I can't really help you.
|
||||||
* If you can get it working, please open a PR!
|
* If you can get it working, please open a PR with any changes to make it work and build instructions in BUILDING.md!
|
||||||
* I get a panic during binding generation build!
|
* I get a panic during binding generation build!
|
||||||
* You can attempt to fix it yourself, or you can set the `WHISPER_DONT_GENERATE_BINDINGS` environment variable.
|
* You can attempt to fix it yourself, or you can set the `WHISPER_DONT_GENERATE_BINDINGS` environment variable.
|
||||||
This skips attempting to build the bindings whatsoever and copies the existing ones. They may be out of date,
|
This skips attempting to build the bindings whatsoever and copies the existing ones. They may be out of date,
|
||||||
but it's better than nothing.
|
but it's better than nothing.
|
||||||
* `WHISPER_DONT_GENERATE_BINDINGS=1 cargo build`
|
* `WHISPER_DONT_GENERATE_BINDINGS=1 cargo build`
|
||||||
* If you can fix the issue, please open a PR!
|
* If you can fix the issue, please open a PR!
|
||||||
* M1 build info:
|
|
||||||
* See [this issue](https://github.com/tazz4843/whisper-rs/pull/2) for more info.
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
[Unlicense](LICENSE)
|
[Unlicense](LICENSE)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue