cmake - 使用 libssh2 的 libgit2 cmake 问题 :LIBSSH2 not found. 如果安装在默认搜索路径之外,请设置 CMAKE_PREFIX_PATH

标签 cmake libgit2 libssh2

我正在尝试使用 Visual Studio 命令提示符 2010 在 Windows 8 上构建 libgit2 源代码。我还在计算机上成功编译并安装了 libssh2 源代码。

libssh2安装路径:C:\Program Files (x86)\libssh2

每当我为 libgit2 CMake.list 执行命令 cmake .. 时,我得到的输出为 LIBSSH2 not found。如果安装在默认搜索路径之外,请设置 CMAKE_PREFIX_PATH。

我已经尝试了一些建议,这些建议也可以在 stackoverflow 上找到,但没有运气。我还尝试将 libssh2 编译文件夹包括子目录(include、lib 和 share)放在 libgit2 的 cmake/Modules 文件夹中。

有人建议我在 CMakelist.txt 中配置外部依赖项以在 libgit2 中包含 libssh2 模块的正确方法是什么?

提前致谢!

最佳答案

CMake 脚本使用 pkg-config 来查找依赖项(对于基本安装附带的库,有一些特定于操作系统的异常(exception)情况),因此,如果您的 libssh2 位于 pkg-config 看起来,您必须设置 PKG_CONFIG_PATH

请注意,如果您在 mingw 环境中构建了 libssh2,它可能无法与 MSVC 构建的 libgit2 一起使用。

master0.22 版本上,您还可以通过将 EMBED_SSH_PATH 设置为 libssh2 的最新版本来将 libssh2 嵌入到 libgit2 dll 中。可以使用 Windows 的加密库代替 OpenSSL。但如果您可以构建 libssh2 dll,那就是首选。

关于cmake - 使用 libssh2 的 libgit2 cmake 问题 :LIBSSH2 not found. 如果安装在默认搜索路径之外,请设置 CMAKE_PREFIX_PATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33605019/

相关文章:

c# - 在 libgit2sharp-SSH 中使用 SshUserKeyCredentials 进行身份验证时遇到问题

php - ssh2 上的 opendir 永远不会停止

c++ - 如何要求CMake不冗长?

visual-studio - 为什么 cmake install() 在 VS 的 Release 文件夹中查找输出文件

c++ - 使用 git init、fetch 和 checkout 克隆一个 git 存储库

git - "Invalid description in FETCH_HEAD"在 Visual Studio 中 pull/同步

objective-c - 在 iOS 上使用 libssh2 反向端口转发

c++ - Cmake、.lib、dll 并避免在二进制文件中复制多个 .lib

C++ 构建自定义定义

c - 如何使用 libgit2 通过 ssh 推送 git 存储库