前言
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
6 条评论
《我的爱情治愈记》韩国剧高清在线免费观看:https://www.jgz518.com/xingkong/140688.html
《我们的世界末日(加长版)》欧美剧高清在线免费观看:https://www.jgz518.com/xingkong/149755.html
《小英雄大闹唐人街国语》喜剧片高清在线免费观看:https://www.jgz518.com/xingkong/19205.html
哈哈哈,写的太好了https://www.cscnn.com/
不错不错,我喜欢看 https://www.ea55.com/
叼茂SEO.bfbikes.com