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

如何通过vcpkg编译启用GSSAPI支持的Windows x86版libssh

vcpkg 编译启用GSSAPI支持的libssh方法

之前自定义triplet配置不生效的原因很明确:

  • WITH_GSSAPI是libssh的CMake构建开关,不是C/C++编译阶段的预定义宏,把它加到VCPKG_C_FLAGS/VCPKG_CXX_FLAGS里只会给编译器传入一个无意义的宏参数,完全不会影响CMake的配置逻辑。
  • vcpkg默认的libssh移植包中已经硬编码传入了-DWITH_GSSAPI=OFF的CMake参数,这个参数的优先级远高于triplet里的编译flag配置,所以靠改triplet永远打不开GSSAPI支持。

正确操作步骤如下:

1. 提前安装GSSAPI依赖

Windows平台下libssh的GSSAPI实现依赖MIT Kerberos库,先通过vcpkg安装对应依赖:

vcpkg install mit-krb5:x86-windows

2. 修改libssh的构建配置

找到vcpkg根目录下的ports/libssh/portfile.cmake文件,定位到vcpkg_cmake_configure函数的参数块,把里面的-DWITH_GSSAPI=OFF修改为-DWITH_GSSAPI=ON。

如果你不想改动vcpkg默认的移植包配置,可以把整个ports/libssh目录复制到你自己的自定义overlay port目录下,仅修改复制后的配置文件,后续安装时指定overlay port路径即可,不会破坏vcpkg原始文件。

3. 清理旧缓存后重新安装

如果直接修改了默认port配置,执行以下命令重装:

vcpkg remove libssh:x86-windows
vcpkg install libssh:x86-windows

如果你用了自定义overlay port,安装时额外指定overlay路径:

vcpkg remove libssh:x86-windows
vcpkg install libssh:x86-windows --overlay-ports=<你的自定义libssh port目录路径>

4. 校验结果

安装完成后查看构建日志,找到libssh打印的构建选项汇总块,如果显示GSSAPI support : ON就说明配置成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 23:00:17