eframe_template
eframe_template copied to clipboard
Consider adding some WSL-specific help to README
First of all thank you! Very excited to start using this. There is a small gotcha I ran into because I use WSL environment. It will not run natively in it, you will need to cross-compile. It may be helpful to others?
Testing Locally with WSL
things to include in .cargo/config
[target.x86_64-pc-windows-gnu]
linker = "x86_64-w64-mingw32-gcc"
ar = "x86_64-w64-mingw32-gcc-ar"
This can work if you've got mingw sudo apt install mingw-w64 (there maybe better linkers but i didn't investigate)
credit goes to these people: link
you may also need to add this target with rustup and the compiler will tell you if you don't have it
rustup target add x86_64-pc-windows-gnu
to see which targets you have run
rustup target list
Then compile to that target: cargo build --target x86_64-pc-windows-gnu
Have your Rust directories somewhere easily accessible on both, WSL bash and on Windows file explorer: it will make you a clickable .exe file that works natively
The error you get if you let it think it's in real linux is here:
Error: WinitEventLoop(Os(OsError { line: 81, file: "/home/xxxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.29.9/src/platform_impl/linux/wayland/event_loop/mod.rs", error: WaylandError(Connection(NoWaylandLib)) }))
I tested that a GUI is possible (there are some nuances depending if you have WSL1 or WSL2 link) and in my configuration a linux GUI can be successfully displayed from WSL.
I was also affected. Thanks for sharing.
Sadly I am getting:
I think I'll try running it on my Ubuntu laptop over the weekend.
@andreamancuso were you able to get through following the steps posted by the OP?
I wasn't. I'll try again ASAP, likely in the morning (I am based in the CEST time zone).
Can you confirm you have a linker installed? Something like sudo apt install mingw-w64
Also it is probably worth executing the rustup command it suggests
Good news.
You were right: as I am new to the Rust world, I didn't realize I was meant to run rustup target add x86_64-pc-windows-gnu. I then ran cargo build --target x86_64-pc-windows-gnu. Naturally I moved the folder into /mnt/c/<...> so I could easily access the generated .exe file.
Here's the end result:
Massive thanks for your help.
I should point out last night I managed to build both targets on my Ubuntu laptop flawlessly. I can't wait to get started with my project.
Awesome! I'll update the post to point out the rustup step.