3个版本
| 0.1.2 | 2024年4月2日 |
|---|---|
| 0.1.1 | 2024年3月31日 |
| 0.1.0 | 2024年3月31日 |
#559 in 图像
每月99次下载
545KB
10K SLoC
libpng-vendored-sys
Cargo包,用于编译libpng并将其作为静态库存根。
该包的主要目标是提供静态库,以便与其他C代码链接,如Leptonica的版本。此包仅提供基本的FFI绑定。更复杂的绑定将在单独的包中提供。如果您需要将libpng与Rust代码直接绑定,则应编写自己的绑定。
提供的版本
通过libpng-src编译和存根版本为1.6.43的libpng。
当前支持的操作系统和目标
预期适用于
- Linux:
x86_64-unknown-linux-gnu,aarch64-unknown-linux-gnu(尚不支持交叉编译) - Windows:
x86_64-pc-windows-msvc,aarch644-pc-windows-msvc(尚不支持交叉编译) - macOS:
x86_64-apple-darwin,aarch64-apple-darwin - iOS,包括模拟器(从macOS主机交叉编译):
x86_64-apple-ios,aarch64-apple-ios,aarch64-apple-ios-sim
在上传之前已对所有目标进行测试,但未对aarch64-unknown-linux-gnu和aarch64-pc-windows-msvc进行测试。
zlib / libz-sys依赖关系
libpng本身依赖于zlib(或libz)C库。该包允许以三种不同的方式链接到zlib,这些方式根据功能区分。
link-libz或 默认 功能。使用具有默认功能的 zlib-sys 包。如果使用 zlib,则会在系统中查找 zlib 的版本,并以动态或静态方式链接。通常这已经足够,但如果您的最终 cargo 库是静态构建的,则可能会出现 zlib 未链接的情况。link-libz-static功能。此功能强制 libz-sys crate 在所有情况下都进行静态链接。覆盖更多用例,但会增加生成的文件大小。- 在 Cargo 构建脚本或通过原生工具中进行手动 zlib / libz 链接时,请使用
--no-default-features。
宿主依赖项
参见 libpng-src。
待办事项
- 支持 Android 的交叉编译;
作者
Rust 代码和脚本: Alexandr (Alex) Lambov alex.lambov.md@gmail.com,© 2024
libpng - 请参阅 http://www.libpng.org/pub/png/libpng.html
依赖项
~0.4–255KB