Specify target stuff in example

This commit is contained in:
William Venner 2021-12-09 17:59:56 +00:00
parent a6881829e1
commit 1f6e947223
1 changed files with 13 additions and 4 deletions

View File

@ -4,11 +4,20 @@ Installing Rust is as easy as downloading [rustup](https://rustup.rs/) and runni
# Building the example # Building the example
To build the example in debug mode, simply type in a terminal: To build the example in debug mode, you'll need to specify the target architecture for your build.
`cargo build` | Platform | Command | Description |
|:---:|:---:|:---:|
| `win32` | `cargo build --target i686-pc-windows-msvc` | Windows 32-bit<br>Use this if your server is running Windows and is on the `main` branch of Garry's Mod (this is the default branch.) |
| `win64` | `cargo build --target x86_64-pc-windows-msvc` | Windows 64-bit<br>Use this if your server is running Windows and is on the `x86-64` branch of Garry's Mod. |
| `linux` | `cargo build --target i686-unknown-linux-gnu` | Linux 32-bit<br>Use this if your server is running Linux and is on the `main` branch of Garry's Mod (this is the default branch.) |
| `linux64` | `cargo build --target x86_64-unknown-linux-gnu` |Linux 64-bit<br>Use this if your server is running Linux and is on the `x86-64` branch of Garry's Mod. |
You can find the compiled binary in `target/debug/my_first_binary_module.dll` (or `.so` if you're building on Linux) You can find the compiled binary in `target/<TARGET>/debug/my_first_binary_module.dll` on Windows or `target/<TARGET>/debug/libmy_first_binary_module.so` on Linux.
If Rust complains it can't find the target/toolchain, you'll need to install it. By default Rust only installs your system's native toolchain, which is most likely Windows 64-bit (`x86_64-pc-windows-msvc`)
I don't recommend cross-compiling Linux binaries on Windows. If you want to compile Linux binaries on Windows, do it in WSL.
# Using the example in Garry's Mod # Using the example in Garry's Mod
@ -33,7 +42,7 @@ require("my_first_binary_module")
If you've written a useful module and want to release it to the world, or just on your server, build with the `--release` flag: If you've written a useful module and want to release it to the world, or just on your server, build with the `--release` flag:
`cargo build --release` `cargo build --target <TARGET> --release`
This enables performance optimization of the compiled binary and removes debug symbols which make the binary huge, whilst taking longer to compile. This enables performance optimization of the compiled binary and removes debug symbols which make the binary huge, whilst taking longer to compile.