windows 上的 libgit2 与 libssh2 和 libopenssl

libgit2 with libssh2 and libopenssl on windows

我以前尝试过,但在完整构建中收效甚微,但即使现在失败了,我显然在 windows 上遗漏了一些东西(是的,它可能是 windows :P)

谁能帮我介绍一下

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

我正在为 windows 使用 CMake gui,尝试构建一个 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.

尽管我已经把它放在我认为它应该看起来的所有可能的地方,而且我已经尝试设置 CMAKE_PREFIX_PATH ?

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

谢谢 罗伯特

不要感到孤单......构建 OpenSSL 是如此神秘和具有挑战性,以至于 entire websites 已经涌现出来支持它。

我通常会下载并签入 LIB,而不会打扰...代码不会更改,而且还能节省构建时间。

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

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

LIBSSH2_FOUND (set it to TRUE)
LIBSSH2_INCLUDE_DIRS
LIBSSH2_LIBRARY_DIRS
LIBSSH2_LIBRARIES

openssl 也可以做类似的事情。