#clam-av #low-level #bindings #interface #vcpkg #clamav-rs

sys clamav-sys

ClamAV的Rust底层绑定

6个版本 (1 个稳定版)

1.0.0 2023年11月14日
0.0.5 2021年5月31日
0.0.3 2021年1月25日
0.0.2 2020年11月28日

#2 in #clam-av

Download history 16/week @ 2024-03-09 25/week @ 2024-03-16 5/week @ 2024-03-23 29/week @ 2024-03-30 14/week @ 2024-04-06 3/week @ 2024-04-13 13/week @ 2024-04-20 8/week @ 2024-04-27 15/week @ 2024-05-04 27/week @ 2024-05-11 89/week @ 2024-05-18 451/week @ 2024-05-25 37/week @ 2024-06-01 8/week @ 2024-06-08 1/week @ 2024-06-15 4/week @ 2024-06-22

每月 109 次下载
用于 3 crate(2 个直接使用)

GPL-2.0 许可证

17KB
305 行代码(不含注释)

clamav-sys

clamav-sys 是围绕 libclamav 的最小Rust接口。此包不应单独使用,而应通过其安全包装程序 clamav-rs 来使用。

构建

Unix(除了Windows以外的所有系统)

您应该安装您的发行版的 clamav-dev 包(包含头文件的ClamAV)。头文件和库将自动通过 pkg-config 获取。

Windows

vcpkg

处理依赖项的首选方式是 vcpkg。将 $env:VCPKG_ROOT 指向您的 vcpkg 安装,并将 $env:VCPKGRS_DYNAMIC=1 设置为使用动态链接(默认链接方法可能不起作用,因为 pdcurses 不支持 x64-windows-static-md 三联组)。

有关更多信息,请参阅 vcpkg crate 的文档

注意事项

  • Windows有其自己的 zlib dll 版本,与 vcpkg 不兼容。如果您收到类似于“无法在动态链接库中找到程序入口点 gzdirect”的消息,请确保您的 PATH 变量中的 vcpkg 动态库在 Windows 之前。
    $env:PATH="$env:VCPKG_ROOT\installed\x64-windows\bin\;$env:PATH"
    
    此错误在 PowerShell 中特别难以诊断,因为进程会无输出地挂起。在 cmd.exe 中,您将得到上述对话框,其中包含有关错误的说明。

手动

如果 vcpkg 在您的系统上不可用或找不到,则构建默认为手动指定依赖项。您需要定义以下环境变量

  • CLAMAV_SOURCE:指向 ClamAV 源目录。
  • CLAMAV_BUILD:指向 ClamAV 构建目录。
  • OPENSSL_INCLUDE:指向包含 openssl/ssl.h 的包含目录。

MacOS

使用 homebrew 安装开发依赖项

brew install clamav [email protected]

OpenSSL 没有包含在环境中,以避免与 Apple 的版本冲突,因此您需要告诉构建脚本其所在位置。

export OPENSSL_ROOT_DIR=/usr/local/Cellar/[email protected]/1.1.1i/

版本管理

libclamav-sys 的版本号跟踪 ClamAV 的版本号。也就是说,您至少需要 ClamAV 1.0.0 才能构建 libclamav-sys 1.0.0。由于 ClamAV 通常不进行破坏性的 API 变更,您将能够使用 libclamav-sys 与更新的 ClamAV 版本。

没有尝试保留向下兼容性(使用版本号大于 ClamAV 的 libclamav-sys)。

没有运行时依赖

~0–1.9MB
~37K SLoC