如何在libgit2中使用SSH支持?

时间:2013-05-28 10:55:57

标签: c git cmake libgit2

正如我在this question看到的那样,libgit2现在支持使用ssh存储库网址。

但是如何强迫它发挥作用?正如我从CMakeLists文件中了解到的,如果检测到libssh2库,将自动启用SSH支持。

IF(NOT LIBSSH2_LIBRARY)
    FIND_PACKAGE(LIBSSH2 QUIET)
ENDIF()
IF (LIBSSH2_FOUND)
    MESSAGE("libssh2 was detected!")
    ADD_DEFINITIONS(-DGIT_SSH)
    INCLUDE_DIRECTORIES(${LIBSSH2_INCLUDE_DIR})
    SET(SSH_LIBRARIES ${LIBSSH2_LIBRARIES})
ENDIF()

必须如此,我看到“检测到libssh2”消息。 但是,cmake工作之后的宏GIT_SSH仍未定义,并且所有SSH内容都不可用。 例如,代码git_cred_ssh_keyfile_passphrase kf_pass;无法编译。 我收到这样的错误: 'git_cred_ssh_keyfile_passphrase' was not declared in this scope, 即GIT_SSH未定义,因为此结构在#ifdef GIT_SSH ... #endif块中声明。

也许我是以错误的方式做某事?

0 个答案:

没有答案