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 [email protected],© 2024
libpng - 请参阅 http://www.libpng.org/pub/png/libpng.html
依赖项
~0.4–255KB