3 个不稳定版本
0.2.0 | 2024年7月18日 |
---|---|
0.1.1 | 2024年7月10日 |
0.1.0 | 2024年7月10日 |
#84 在 操作系统
每月 120 次下载
25KB
313 行
Dylib Installer
Dylib Installer 是一个处理 dylib 目录并生成 .pc 文件的工具。它帮助自动化安装动态库及其相关头文件的过程,并确保正确生成所需的 pkg-config 文件。
功能
- 自动检测并处理指定目录中的
.dylib
文件。 - 为使用
pkg-config
生成.pc
文件。 - 将库文件复制到目标目录。
- 可选地将头文件复制到目标目录。
先决条件
要使用 Dylib Installer,您需要在系统上安装以下工具
- pkg-config
安装 pkg-config
如果您使用的是 macOS,您可以使用 Homebrew 安装 pkg-config
brew install pkg-config
如果您使用的是 Linux,您可以使用您的包管理器安装 pkg-config
- Debian/Ubuntu
sudo apt-get install pkg-config
- Fedora
sudo dnf install pkg-config
- CentOS/RHEL
sudo yum install pkg-config
- Arch Linux
sudo pacman -S pkg-config
- Alpine Linux
apk add pkgconfig
安装
要安装 Dylib Installer,请确保您的系统上已安装 Rust。您可以从源代码安装项目或使用 cargo install
从 brew
如果您使用的是 macOS,您可以使用 Homebrew 安装此工具
brew tap hackerchai/tap
brew install dylib-installer
从源代码
git clone https://github.com/hackerchai/dylib-installer.git
cd dylib-installer
cargo build --release
二进制文件将位于 target/release
目录。
使用 Cargo 安装
cargo install dylib_installer
或从存储库安装最新头文件
cargo install --git https://github.com/hackerchai/dylib-installer
用法
Dylib Installer 需要一些参数来指定路径和选项。以下是可用的选项
dylib_installer [OPTIONS] <dylib_path> [HEADERPATH]
参数
-
<dylib_path>
设置存储 dylib 文件的目录。(必需) -
[HEADERPATH]
设置存储头文件的路径
选项
-n, --name <NAME>
:设置库的名称。如果没有提供,将根据动态库文件名推断。-, --headerpath <HEADERPATH>
:设置存储头文件的路径。-, --version <VERSION>
:设置库的版本。默认为 "0.1.0"。-, --description <DESC>
:设置库的描述。默认为 "未提供描述"。-, --pcpath <PCPATH>
:设置存储 .pc 文件的路径。如果没有提供,将使用默认的 pkg-config 路径。-, --libpath <LIBPATH>
:设置库文件的目标路径。如果没有提供,将使用系统库路径。-, --header_target_path <HEADER_TARGET_PATH>
:设置头文件的目标路径。-h, --help
:显示帮助信息。
示例
建议使用 sudo 将库安装到系统路径。
-
在大多数情况下(未指定头文件)
sudo dylib_installer /path/to/dylibs
-
如果您想指定完整选项
dylib_installer /path/to/dylibs /path/to/headers \ -n mylibrary \ -v 0.1.0 \ -c "My Library Description" \ -p /path/to/pkgconfig \ -t /usr/local/lib \ -r /usr/local/include/mylibrary
如果您没有提供库名称,工具将尝试从指定目录中找到的 .dylib
文件名中推断它。例如,如果它找到一个名为 libfuse.dylib
或 libfuse.2.1.dylib
的文件,它将使用 fuse
作为库名称。
贡献
我们欢迎贡献!请在 GitHub 上提交问题或发送拉取请求。
许可
本项目采用 GPL 许可协议。有关详细信息,请参阅 LICENSE 文件。
依赖关系
~5–15MB
~192K SLoC