跳到主要内容

手动集成

kmpkg 安装库时会创建统一的目录结构,并按三元组(triplet) 分区管理文件。

  • 经典模式:目录根路径为 <kmpkg 根目录>/installed
  • 清单模式:目录根路径为 <kmpkg.json 所在目录>/kmpkg_installed

在根路径下,每个三元组对应一个独立子目录,内部结构如下:

目录路径包含内容
include/头文件
lib/lib/manual-link/Release 版本的 .lib.a.so 文件
bin/Release 版本的 .dll 文件
lib/pkgconfig/share/pkgconfig/Release 版本的 .pc 文件(pkg-config 配置)
debug/lib/debug/lib/manual-link/Debug 版本的 .lib.a.so 文件
debug/bin/Debug 版本的 .dll 文件
debug/lib/pkgconfig/debug/share/pkgconfig/Debug 版本的 .pc 文件
tools/<port>/端口(port)对应的工具程序

示例:经典模式下,zlib:x64-windowszlib.h 路径为 <kmpkg 根目录>/installed/x64-windows/include/zlib.h

构建系统配置示例

请参考你所使用构建系统的官方文档,将 kmpkg 预编译的二进制文件集成到项目中。以下是常见构建系统的配置思路:

Makefile/AUTOCONF 项目

通过环境变量指定头文件路径、库路径和 pkg-config 配置路径:

# 设置头文件搜索路径
export CXXFLAGS=-I$(pwd)/installed/x64-linux/include
export CFLAGS=-I$(pwd)/installed/x64-linux/include

# 设置库文件搜索路径
export LDFLAGS=-L$(pwd)/installed/x64-linux/lib

# 设置 pkg-config 配置路径(用于依赖查找)
export PKG_CONFIG_PATH=$(pwd)/installed/x64-linux/lib/pkgconfig:$(pwd)/installed/x64-linux/share/pkgconfig:$PKG_CONFIG_PATH

Windows 动态三元组(如 x64-windows)

运行生成的可执行文件前,需确保动态链接库(.dll)能被找到,两种方式任选:

  1. bin/debug/bin/ 目录下的所需 .dll 文件复制到可执行文件所在目录;
  2. bin/debug/bin/ 目录添加到系统环境变量 PATH 的最前面(优先查找 kmpkg 安装的库)。