前言
https://github.com/libvips/libvips
libvips:低内存需求的快速图像处理库。它可以完成大约 300 种操作,包括算术、直方图、卷积、形态运算、频域滤波、色彩、重采样、统计等。它还支持各种图片格式,包括 JPEG、JPEG2000、JPEG-XL、TIFF、PNG、WebP、HEIC、AVIF、FITS、Matlab、OpenEXR、PDF、SVG、HDR、PPM / PGM / PFM、CSV、GIF、Analyze、NIfTI、DeepZoom、OpenSlide。
https://github.com/libvips/build-win64-mxe
build-win64-mxe:基于 MXE 环境,libvips 及其所有依赖项用于四种 windows 架构的交叉编译脚本。
* 受专利限制影响,HEVC 相关依赖项不包含在预构建的二进制文件中。本文将介绍如何自行编译包含 HEVC 相关依赖的 win 架构 libvips 二进制文件。
环境部署
* 编译 libvips 所需的依赖项众多,如果你有一台配置 4C8G 以上、空闲磁盘空间 15GB 以上运行 Linux 发布版的 vps,则可以跳过此步骤。
参考资料:https://docs.microsoft.com/zh-cn/windows/wsl/
WSL 可以在 Windows 平台上原样运行 Linux 环境子系统,且不会产生传统虚拟机或双启动设置开销。
使用简化命令安装 WSL
打开 PowerShell(或 Windows 命令提示符)并输入:
wsl --install
运行此简化安装命令,需要使用最新版本 Windows(内部版本 20262+)。
winver,选择“确定”。如果你正在运行旧版 Windows 可以参考此文档手动安装 wsl:https://docs.microsoft.com/zh-cn/windows/wsl/install-manual
运行 --install 命令将执行以下操作:
- 启用可选的 WSL 和虚拟机平台组件
- 下载并安装最新 Linux 内核
- 将 WSL 2 设置为默认值
- 下载并安装 Ubuntu Linux 发行版
在此安装过程中,你将需要重启计算机。
安装完成后,需要配置 Linux 发行版的用户名和密码。用户名不要使用大写字母,且它们与 Windows 用户名无关。
安装 Windows Terminal
Windows Terminal 支持多选项卡、拥有更完善的 Unicode 和 UTF-8 字符显示。其在 Windows 11 中应用名可能显示为终端。
每当安装新的 WSL Linux 发行版时,都会在 Windows Terminal 中为其创建一个新实例,配合使用时非常方便!
在 Microsoft Store 中搜索 Windows Terminal 即可快速安装。

组件部署
Docker 安装
编译过程需要运行符合 OCI 标准的容器,此处以 Docker 安装为例。您也可以选择安装 Podman。
- 卸载旧版本 Docker,全新安装的 Ubuntu 可以跳过此步骤
sudo apt-get remove docker docker-engine docker.io containerd runc - 允许 apt 通过 HTTPS 使用仓库
sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release - 添加 Docker 官方 GPG 密钥
sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg - 设置 Docker 仓库
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null - 安装最新版本的 Docker
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin - 运行
hello-world映像(image)验证 Docker 引擎安装sudo docker run hello-world注意:wsl 需要通过此命令手动启动 docker 服务
service docker start其他 Linux 发行版请参考此文档安装 Docker:https://docs.docker.com/engine/install/centos/
配置代理
编译过程需要多次访问 Github 仓库等海外链接,如果你的网络在中国大陆可能遇到访问不畅的问题,可以通过配置代理解决。
- 配置 Ubuntu 代理
export http_proxy=http://192.168.16.16:7890
export https_proxy=http://192.168.16.16:7890
测试代理配置是否成功不要 ping,代理服务器可能设置了禁 ping,请尝试:
curl www.google.com
- 配置 Docker 容器代理
在 Docker 17.07 以上版本可以进行以下配置:
sudo mkdir ~/.docker
sudo vim ~/.docker/config.json
{
"proxies":
{
"default":
{
"httpProxy": "http://192.168.16.16:7890",
"httpsProxy": "http://192.168.16.16:7890"
}
}
}
拉取编译脚本仓库
-
建议切换到 root 用户,防止运行脚本时权限不足。使用命令
sudo -i,输入当前用户密码即可切换。随时可以使用命令logout退出 root 用户。 -
创建编译目录
sudo mkdir /home/user && sudo cd /home/user此处你也可以选择其他目录
-
拉取最新 build-win64-mxe 仓库
sudo wget https://github.com/libvips/build-win64-mxe/archive/refs/heads/master.zip sudo apt-get install unzip sudo unzip master.zip -
进入编译目录
cd build-win64-mxe-master在 Windows 文件资源管理器中打开 WSL 当前目录:使用非 root 用户输入命令explorer.exe .
注意不要遗漏命令末尾的句点。
编译
-
查看帮助
在编译目录下,输入bash ./build.sh -h,即可查看帮助选项。 -
编译示例:最新发布版、全部(all)依赖项、附带 HEVC 依赖、x64 架构、动态链接库
bash ./build.sh --with-hevc all x86_64 shared -
编译过程大概需要 2-4 小时,完成后可以在
.../build-win64-mxe-master/build目录下找到打包好的 zip 文件。名称一般为vips-dev-w64-all-a.b.c-hevc-shared.zip。
- 附录:build.sh 帮助信息
Usage: build.sh [OPTIONS] [DEPS] [ARCH] [TYPE] \\ 使用方法
Build Windows binaries for libvips in a container
\\ 在容器中为 libvips 构建 Windows 二进制可执行文件
OPTIONS: 选项
--help 显示帮助信息后退出
-c, --commit <COMMIT> 用于构建 libvips 的提交(commit)
-r, --ref <REF> 用于构建 libvips 的分支(branch)或标签(tag)
--nightly 使用最新 libvips 代码构建(-r master 的别名)
--with-hevc 构建带有 HEVC 相关依赖的文件
--with-debug 构建带有调试(Debug)符号的文件
--without-llvm 构建时使用 GCC 取代 llvm
--without-mozjpeg 构建依赖时使用 libjpeg-turbo 取代 MozJPEG
--without-zlib-ng 构建依赖时使用 (vanilla-)zlib 取代 zlib-ng
DEPS: 依赖
The group of dependencies to build libvips with,
defaults to 'web'
Possible values are:
\\ 构建 libvips 使用的依赖集,默认为 web,可选项有:
- web
- all
ARCH: 架构
The Windows architecture to target,
defaults to 'x86_64'
Possible values are:
\\ 构建目标的 Windows 架构,默认为 x86_64,可选项有:
- x86_64
- i686
- aarch64 (disables --without-llvm)
- armv7 (disables --without-llvm)
TYPE: 类型
Specifies the type of binary to be created,
defaults to 'shared'
Possible values are:
\\ 指定二进制文件的链接库类型,默认为 shared,可选项有:
- shared
- static
4 条评论
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合 的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com
新盘首开 新盘首开 征召客户!!!
做了几十年的项目 我总结了最好的一个盘(纯干货)