You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Win11 UCRT64环境下编译安装Vips-8.9.2报错求助

解决UCRT64环境编译vips-8.9.2的两个问题

问题1:make时svgload.c找不到librsvg/librsvg-features.h头文件

你的头文件实际路径是C:\msys64\ucrt64\include\librsvg-2.0\librsvg,说明编译器的头文件搜索路径未包含librsvg-2.0目录,导致无法定位目标文件。可以尝试以下方案:

  • 重新指定configure编译参数:进入vips源码目录,在UCRT64终端重新执行configure,手动添加librsvg的头文件父目录:

    ./configure CFLAGS="-IC:/msys64/ucrt64/include/librsvg-2.0" LDFLAGS="-LC:/msys64/ucrt64/lib"
    

    之后执行make clean && make重新编译。

  • 修改Makefile添加头文件路径:打开生成的Makefile,找到CFLAGS变量定义行,在末尾追加-IC:/msys64/ucrt64/include/librsvg-2.0,保存后重新执行make。

  • 创建软链接简化路径:在UCRT64终端执行以下命令,将深层的librsvg目录链接到include根目录:

    cd /ucrt64/include
    ln -s librsvg-2.0/librsvg librsvg
    

    这样编译器查找librsvg/librsvg-features.h时就能直接定位到目标文件。

问题2:configure时Libtool无法处理路径空格的警告

该警告源于当前环境存在带空格的路径(比如msys64安装路径、vips源码存放路径),Libtool对空格路径兼容性较差。解决步骤:

  • 检查msys64的安装路径,确保无空格字符。比如不要安装在C:\Program Files\msys64,改为C:\msys64;若已安装,直接移动目录到无空格路径。
  • 将vips源码包解压到UCRT64的用户目录下,比如C:\msys64\home\你的用户名\vips-8.9.2,保证整个路径不含空格。
  • 重新进入源码目录,执行make clean && ./configure && make,警告即可消除。

内容的提问来源于stack exchange,提问作者Marco Moreno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 19:46:01