在 Windows 上使用 libssh2 和 libopenssl 的 libgit2

Sar*_*gan 0 c++ openssl libgit2 libssh2 visual-c++-2015

我以前尝试过,但在完整版本中几乎没有成功,但即使现在失败了,而且我显然在 Windows 上遗漏了一些东西(是的,它可能是 Windows :P)

有人可以带我过去吗

  1. 找到正确的 OpenSSL 以使用 libssh2 进行编译
  2. 实际上cmake/将libssh2编译成libgit2,因为它一直说找不到libssh2,我正在努力再次构建它。

我正在使用 CMake gui For windows,尝试构建一个 VC2015 项目

我在构建 libgit2 时遇到的错误是

checking for module 'libssh2'
  package 'libssh2' not found

LIBSSH2 not found. Set CMAKE_PREFIX_PATH if it is installed outside of the default search path.
Run Code Online (Sandbox Code Playgroud)

即使我已经把它放在每一个可能的地方,我认为它会看起来,我试过设置CMAKE_PREFIX_PATH

如果有人在 Windows 上成功完成了它,我将不胜感激一两个关于我做错了什么或应该做什么的指针

谢谢罗伯特

Jas*_*lam 5

libgit2 使用cmake pkg-config 模块来查找 libssh2。如果您没有安装 pkg-config,错误消息可能是错误的并且具有误导性。

我发现在 Windows 上使用 libssh2 构建 libgit2 的最简单方法是关闭 USE_SSH 选项以防止 pkg-config 搜索,然后手动设置必要的变量。重要的是:

LIBSSH2_FOUND (set it to TRUE)
LIBSSH2_INCLUDE_DIRS
LIBSSH2_LIBRARY_DIRS
LIBSSH2_LIBRARIES
Run Code Online (Sandbox Code Playgroud)

openssl 也可以做类似的事情。