You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In big C++ game engines we typically build almost everything as DLLs for fast iteration both for debug and release performance builds, while for the final release builds switch and link everything together statically.
We are already seeing significant long linking times (30+ seconds on Windows) due to Rust not really supporting dynamic Rust libraries and having to use static linking for everything and expect this to continue to increase to unacceptable levels.
Windows 64k symbol issue
- If you build a dylib on Windows it can easily stop linking due to including every dependency as an exported symbol and running into Windows limitation of max 65535 symbols.
- Does this happen when using cdylib?
- TODO: Link issue
The text was updated successfully, but these errors were encountered:
Linking times for our engine with ~550 Rust crate dependencies (and some being fairly large C++ dependencies like PhysX) is around 7 seconds on Windows with incremental release builds and LLD as a linker (which really should be the default on windows: #15). Compared to 30 seconds when I originally filed this.
That is actually pretty decent, and while we would want it to be even faster, this is a fairly large issue and potential solution for it and probably too much effort, so closing this for now.
In big C++ game engines we typically build almost everything as DLLs for fast iteration both for debug and release performance builds, while for the final release builds switch and link everything together statically.
We are already seeing significant long linking times (30+ seconds on Windows) due to Rust not really supporting dynamic Rust libraries and having to use static linking for everything and expect this to continue to increase to unacceptable levels.
TODO: Describe more!
Related umbrella issue in rust-gamedev WG: rust-gamedev/wg#50
- If you build a dylib on Windows it can easily stop linking due to including every dependency as an exported symbol and running into Windows limitation of max 65535 symbols.
- Does this happen when using
cdylib
?- TODO: Link issue
The text was updated successfully, but these errors were encountered: