Comments (8)
The docs on distribution Love2D games talks about having to bundle a smattering of DLLs for the same reason on windows. iirc the DLLs must be produced with the same compiler as your binary. I'd been thinking about trying to include source for the deps and build against a static deps crate that'll build all that stuff in-line. Seems like a lot of work though...
from ggez.
Yeah it appears that SDL2_mixer's dll download includes a pile of codec DLL's along with SDL_mixer itself. We need to make a bundle and include them all. (Or solve issue #29 )
from ggez.
SDL_mixer is going away, but we really should provide a nice bundle of DLL's for the handiness of our users, as long as such things are necessary.
from ggez.
@icefoxen How about using glutin and wininit instead of SDL2 ? Or distributing SDL2 source code in repo and compile it with ggez.
from ggez.
@Gordon-F Glutin is eventually the goal, it will take a little while though. Joystick/game controller support is a sticking point, and there's myriad tiny things that are currently done through SDL so it's not going to be a super quick change. And right now I'm busy working on other bits instead.
Distributing SDL2's source I honestly hadn't thought of. Hmmm...
from ggez.
@icefoxen But this will increase compile time. This is not a best part of Rust.
from ggez.
I feel like non-windows platforms make it easy enough to get sdl installed, and really providing DLLs for Win is probably the way to go in the short term.
(This is what Love2D does)
Longer term, I guess a pure rust input system is something to explicitly add to the roadmap.
Alternatively, maybe there's a way to get SDL statically linked for ggez projects? That's a thing, right?
from ggez.
This isn't going to stop while we use SDL2, and the rust-sdl2 peoples have better docs on installing the SDL2 dll's than we ever will. Additionally, while developers can distribute the DLL's to dodge this problem for their binaries, we can't do that because our users are developers who need to compile against said DLL's. So they're just going to have to suck it up and put them in the Right Place themselves.
from ggez.
Related Issues (20)
- Introduce a Blank/Nothing/None color HOT 4
- Asynchronous Asset Loading
- Potential gpu memory leak HOT 3
- Remove ImageFormat from API
- Could probably use `impl Into<Option<Color>>` everywhere
- RGBA color rendering is inconsistent and buggy HOT 3
- Could not compile ggez due to use of unstable library feature HOT 2
- Panic when drawing a text with an unknown font HOT 2
- Fullscreen not working properly on Wayland
- failed to run custom build command for `libudev-sys v0.1.4` HOT 1
- Allow changing pitch of sound being currently played
- Failed to initialize graphics, trying secondary backends. HOT 4
- linking error under ggez m1 arm HOT 1
- Offset doesn't apply correctly when set with matrix HOT 1
- https://github.com/ggez/ggez/blob/1a6c26d9f26b9877c26118720238bbeb80b65276/src/filesystem.rs#L59 HOT 1
- Add integration with compute shaders
- Semi-automatic dependency update with dependabot
- ResourceNotFound Error when running example 02 HOT 2
- It's possible to create a zip file with backslash path seperators, and if you do, ggez won't let you load a file from inside a folder inside a zip HOT 1
- Vulkan library issue - segfaults HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ggez.