- Notifications
You must be signed in to change notification settings - Fork 136
Open
Description
Hello,
I am building a project in the MSYS2/MinGW32 environment (32-bit, targeting Win32) and using the libimagequant library, compiled from source with cargo build --release using the mingw-w64-i686-rust package. The resulting libimagequant_sys.a library appears to require linking against ws2_32, userenv, and ntdll libraries to resolve symbols such as WSAStartup, GetUserProfileDirectoryW, NtReadFile, and RtlNtStatusToDosError.
Could you please clarify the following:
- Does the version of
libimagequantbuilt withmingw-w64-i686-rustinclude dependencies onws2_32,userenv, andntdlldue to the Rust standard library (std) or other reasons? If so, what specific functionality inlibimagequantor its dependencies triggers the need for these libraries (e.g., networking, user profile access, or low-level I/O)? - Is it expected and normal for a library like
libimagequant, which is primarily used for image processing, to pull in these dependencies when built with Rust? Are there any potential side effects or risks (e.g., increased binary size or unintended functionality) when linking against these libraries? - Is there a recommended way to build
libimagequantin MSYS2/MinGW32 (e.g., using the C version instead of Rust) to avoid these dependencies, such as compiling without the Rust standard library (no-std) or using a different build method?
Any insights or recommendations on how to minimize unnecessary dependencies while maintaining compatibility with MinGW32 would be greatly appreciated.
Metadata
Metadata
Assignees
Labels
No labels